此问题在此处已有答案:
Bar plot with irregular spacing(1个答案)
3天前关闭。
我有一些数据在1-x < data < 1+x的区间内,其中x大约是5*10^(-7)。
部分数据:[1.0000000478958904, 1.0000000478515068, 1.0000000480679452, 1.0000000477731508, 1.0000000479978082, 1.000000047790137, 1.0000000478526028, 1.0000000479145206, 1.000000047740274,...]
我试图用matplotlib将这些数据绘制成直方图,当增加bin的数量时,得到一个空图。例如,当我将bin的数量定义为100时,我得到一个1左右的单线直方图,但是当我将bin设置为1000时,我得到一个空直方图。
fig, ax = plt.subplots()
n, bins, patches = ax.hist(data, 100)
plt.show()
字符串
我试着用对数标尺,但显然,它不起作用。
数据的长度是5000,如果这有帮助的话-试图将其设置为bin的数量,但我仍然得到一个空图。
我如何缩放这些数据,以便在最好地表示真实的数据的同时绘制它?
1条答案
按热度按时间cbwuti441#
您还可以使用
bins
参数来设置每个bin的特定边界,而不仅仅是bin的数量。从Matplotlib docs:因此,您可以根据数据的最大值和最小值创建bin:
字符串
然后再进行以下操作:
型