Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在pyplot.hist中设置破折号长度?_Python_Matplotlib_Plot_Histogram_Linestyle - Fatal编程技术网

Python 如何在pyplot.hist中设置破折号长度?

Python 如何在pyplot.hist中设置破折号长度?,python,matplotlib,plot,histogram,linestyle,Python,Matplotlib,Plot,Histogram,Linestyle,我知道破折号长度和间隙大小可以在plt.plot中设置,但有没有办法在plt.hist中设置?我的命令是这样的: plt.hist(x,bin=5,range=(7,11.),facecolor='None',linestyle='虚线',linewidth=2,normed=1) 只需阅读以下内容: 是一个函数,它以点为单位获取一系列打开和关闭长度 所以set_破折号((3,3))应该产生一些不同于set_破折号((15,15)) 现在,对于hist来说,这不会真正起作用,因为设置线条属性最多

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

只需阅读以下内容:

是一个函数,它以点为单位获取一系列打开和关闭长度

所以
set_破折号((3,3))
应该产生一些不同于
set_破折号((15,15))

现在,对于
hist
来说,这不会真正起作用,因为设置线条属性最多只能改变轮廓的外观

你能做的是

  • 使用
    numpy
    直方图
    功能;不管怎样,pyplot的
    hist
    使用它,然后
  • 使用
    stem
    绘制结果

  • 另一个答案指出,set_破折号方法不适用于直方图。但是,可以通过将破折号元组直接传递给“linestyle”来实现对线型的精细控制(请参见此处的文档)

    在您的示例中,您可以在链接中实现“松散虚线”样式,如下所示

    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'
    以显示直方图的轮廓…

    set_破折号()
    线条、=plt.plot(x)
    以及
    线条。set_破折号(…)
    一起工作。但是
    hist
    函数不允许将绘图存储到变量中。或者是吗?@tcaswell:嗯,不。事实上,使用stem可以让你绘制线条而不是矩形。@MarcusMüllerꕺꕺ: 不确定如何获取
    以绘制直方图。可能吗?我查看了文档,但什么都没有。直方图只是一组高度,对吗?因此,没有什么干图不能可视化。线条样式的设置已在master上统一。