0

我知道可以在 plt.plot 中设置破折号长度和间隙大小,但有没有办法在 plt.hist 中设置?这是我的命令的样子: plt.hist(x, bins=5, range=(7.,11.), facecolor='None', linestyle='dashed', linewidth=2, normed=1)

4

2 回答 2

1

只需阅读官方文档

set_dashes是一个函数,它以点为单位采用一系列开和关长度。

所以set_dashes((3,3))应该会产生一些不同的东西set_dashes((15,15))

现在,因为hist那不会真正起作用,因为设置线属性,充其量会改变轮廓的外观。

你可以做的是

  1. 使用函数numpyhistogram无论如何,它被 pyplot 使用hist,然后
  2. 使用 绘制结果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 回答