记录直方图的x轴

stu*_*818 6 plot axis matplotlib histogram

我正在尝试用对数x轴绘制直方图.我目前使用的代码如下

plt.hist(data, bins=10**(np.linspace(0, 1, 2, 3), normed=1) 
plt.xscale('log')
Run Code Online (Sandbox Code Playgroud)

但是,x轴实际上没有正确绘制!它只是从1到100.理想情况下我想要1,10,100和1000的刻度线.任何想法?

Imp*_*est 11

以下作品.

import matplotlib.pyplot as plt
import numpy as np

data = [1.2, 14, 150 ]
bins = 10**(np.arange(0,4))
print "bins: ", bins
plt.xscale('log')
plt.hist(data,bins=bins) 


plt.show()
Run Code Online (Sandbox Code Playgroud)

在您的代码中,probelm是bins数组.它只有两个值,[1, 10]而如果你想要标记,1,10,100,and 1000你需要提供这些数字bins.

  • 请注意,这不适用于“密度”参数,因为它使用距离而不是对数距离进行标准化 (2认同)