gpt4 book ai didi

python - 无法获得直方图以显示带有垂直线的分隔箱

转载 作者:太空狗 更新时间:2023-10-29 17:12:11 25 4
gpt4 key购买 nike

烦人的奇怪问题,我还没能在这个网站上找到解决方案(尽管问题已经弹出)

我正在尝试制作一个直方图,其中 bin 具有“条形样式”,垂直线将每个 bin 分开,但无论我如何更改 histt​​ype 构造函数,我都会得到一个阶梯填充的直方图。

这是我的代码。注意我正在使用通过 anaconda 安装的 jupyter notebook 和 python 版本 2.7.6

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' 。谢谢你的帮助

enter image description here

最佳答案

使用你的例子:

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', ec='black')

plt.legend(loc='upper right',fontsize=30)
plt.xticks(fontsize = 20)
plt.yticks(fontsize = 20)
plt.show()

生成以下图像:

enter image description here

主要区别在于 ec 关键字参数的使用。这是 edgecolor 的简写,使用它与 edgecolor 具有相同的效果。

plt.hist 的文档中说,除了所有列出的关键字参数外,plt.hist 还为 Patch 采用关键字参数 初始值设定项。 edgecolor(和 ec)是这些关键字参数之一。这就是为什么它没有在 plt.hist 的文档中明确列出的原因。图中的所有条形图都是一个单独的 Patch 对象,因此您是说您希望所有条形图都用黑色轮廓绘制(或 matplotlib 中的 edgecolor行话)。

关于python - 无法获得直方图以显示带有垂直线的分隔箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42542252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com