我想创建一个样本的频率图,其值介于-1和1之间。
使用numpy创建直方图效果很好:
freq, bins = np.histogram(sample, bins=np.arange(-1,1,0.05) )
但是使用相同的bin创建一个图表会给我一个错误(参见标题):
plt.hist(freq, range=bins)
除此之外,如何调整x标签以显示正确的bin值?
最小工作示例:
import matplotlib.pyplot as plt
import numpy as np
if __name__ == "__main__":
sample = np.random.uniform(-1,1,100)
freq, bins = np.histogram(sample, bins=np.arange(-1,1,0.05) )
plt.figure()
plt.hist(freq, range=bins)
plt.show()
答案 0 :(得分:0)
没有必要使用numpy预处理数据,只需将数据直接传递给matplotlib的hist函数:
sample = np.random.uniform(-1,1,10000)
#freq, bins = np.histogram(sample, bins=np.arange(-1,1,0.05) )
plt.figure()
plt.hist(sample, bins=100)
plt.show()