我知道可以在 plt.plot 中设置破折号长度和间隙大小,但有没有办法在 plt.hist 中设置?这是我的命令的样子:
plt.hist(x, bins=5, range=(7.,11.), facecolor='None', linestyle='dashed', linewidth=2, normed=1)
问问题
936 次
2 回答
1
只需阅读官方文档:
set_dashes
是一个函数,它以点为单位采用一系列开和关长度。
所以set_dashes((3,3))
应该会产生一些不同的东西set_dashes((15,15))
。
现在,因为hist
那不会真正起作用,因为设置线属性,充其量会改变轮廓的外观。
你可以做的是
- 使用函数
numpy
;histogram
无论如何,它被 pyplot 使用hist
,然后 - 使用 绘制结果
stem
。
于 2015-07-02T12:29:29.573 回答
1
正如另一个答案指出的那样, set_dashes 方法不适用于直方图。但是,您可以通过将破折号元组直接传递给“线条样式”来实现对线条样式的精细控制(请参阅此处的文档https://matplotlib.org/3.1.0/gallery/lines_bars_and_markers/linestyles.html)
在您的示例中,您可以在链接中实现“松散虚线”样式,如下所示
x=[7]*10
plt.hist(x, bins=5, range=(7.,11.), ec='k', facecolor='None',
linewidth=2, normed=1, linestyle=(0,(5,10)))
这适用于 matplotlib 3.0.3。请注意,我还必须添加ec='k'
以使直方图的轮廓完全出现...
于 2020-09-18T01:34:40.690 回答