烦人的奇怪问题,我还没有找到一个解决方案在这个网站上(虽然问题已经弹出)
我正在尝试制作一个直方图,其中的箱子有'酒吧风格'的垂直线分开每个箱子,但无论我改变histtype构造器,我得到一个步骤填充直方图。
这是我的密码。注意:我使用的是Python2.7.6版通过anaconda安装的jupyter笔记本
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand((100))
bins = np.linspace(0, 2, 40)
plt.title('Relative Amplitude',fontsize=30)
plt.xlabel('Random Histogram')
plt.ylabel('Frequency',fontsize=30)
plt.hist(x, bins, alpha=0.5, histtype='bar')
plt.legend(loc='upper right',fontsize=30)
plt.xticks(fontsize = 20)
plt.yticks(fontsize = 20)
plt.show()
就这样,我得到了一个步骤填充图,没有垂直线分隔的酒吧。令人恼火的是我很久以前就没有这个问题了,很明显有些事情已经改变了,我不知道是什么,我也试过histype='barstacked'。谢谢你的帮助
用你的例子:
生成以下图像:
关键的区别在于使用了
ec
关键字参数。这是“edgecolor”的缩写。在plt.hist
的文档中,除了列出的所有关键字参数之外,plt.hist
还接受Patch
初始值设定项的关键字参数。edgecolor
是这些关键字参数之一。这就是为什么它没有在plt.hist
的文档中显式列出。绘图中的所有条都是一个单独的Patch
对象,因此您要用黑色轮廓绘制所有条(或者用matplotlib术语edgecolor
)。相关问题 更多 >
编程相关推荐