如何在pyplot.hist中设置短划线长度?

时间:2015-07-02 12:25:07

标签: python matplotlib plot histogram linestyle

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

2 个答案:

答案 0 :(得分:0)

只需阅读official documentation

set_dashes是一个以点为单位开启和关闭长度序列的函数。

因此set_dashes((3,3))应生成与set_dashes((15,15))不同的内容。

现在,对于hist无效的numpy,因为设置线属性最多会改变轮廓的外观。

你可以做的是

  1. 使用histogram的{​​{1}}函数;无论如何,它被pyplot的hist使用,然后
  2. 使用stem绘制结果。

答案 1 :(得分:0)

另一个答案指出set_dashes方法不适用于直方图。但是,您可以通过将破折号元组直接传递给“ linestyle”来实现对线型的精细控制(请参见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'才能使直方图的轮廓完全出现...