记录直方图的x轴

时间:2016-12-06 16:52:26

标签: matplotlib plot histogram axis

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

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

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

1 个答案:

答案 0 :(得分:10)

以下作品。

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()

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