美文网首页编程-Python
matplotlib可视化篇barh()--直方图(2)

matplotlib可视化篇barh()--直方图(2)

作者: CodeFUN | 来源:发表于2019-01-26 00:20 被阅读1762次

    本节主要内容:

    1. barh()的使用,官方barh()项目地址
    2. 如何绘制堆积图

    1. barh()

    barh()表示绘制水平方向的条形图,基本使用方法为:barh(y, width, height=0.8,align='center'),在使用过程中,可参考bar()--直方图(1)
    主要参数详情:
    y:代表直方图在y轴上的位置
    width:代表直方图的宽度,即每个直方图具体的数值
    最小体积实现:

    import matplotlib.pyplot as plt
    
    y=[1,2,3,4,5]#给出在y轴上的位置
    width=[5,4,7,2,9]#给出具体每个直方图的数值
    plt.barh(y,width)#绘制水平直方图
    plt.show()#显示图像
    
    barh()最小体积实现效果

    当然,你还可以设置直方图颜色,图像网格显示,添加边缘颜色,直方图透明度等。你可以在应用过程中积极尝试。

    import matplotlib.pyplot as plt
    
    y=[1,2,3,4,5]#给出在y轴上的位置
    width=[5,4,7,2,9]#给出具体每个直方图的数值
    label=['car','train','subway','bike','plane']#直方图信息
    plt.barh(y,width,facecolor='tan',height=0.5,edgecolor='r',alpha=0.6,tick_label=label)#绘制水平直方图
    plt.title('The way people choose to travel')
    plt.show()#显示图像
    
    添加边缘颜色,直方图颜色,透明度,直方图宽度后显示效果如下: 添加控制参数显示效果

    2. 堆积图

    顾名思义,堆积图集将直方图堆积起来,最简实现方式如下:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x=np.arange(5)#给出在y轴上的位置
    y=np.array([5,4,7,2,9])#给出具体每个直方图的数值
    y1=np.array([3,5,2,4,10])#给出第二组直方图信息
    y2=np.array([3,4,6,2,5])#给出第三组数据
    
    plt.bar(x,y,label='workday')
    plt.bar(x,y1,bottom=y,label='weekend')
    plt.bar(x,y2,bottom=y+y1,label='Christmas')
    plt.legend()#列出图例
    plt.show()
    
    堆积图的实现效果 从实现的过程不难发现,绘制堆积图的诀窍在于bottom参数的设置,这里需要注意的是x,y1,y2即数据来源最好使用np.ndarray格式的数据,普通的python列表数据很可能失败报错。其中将python list数据转为np.ndarray的方式为
    import numpy as np
    
    list_a=[1,2,3,4]
    list_b=np.array(list_a)
    print(type(list_b))
    

    当然你也可以像文中那样直接生成np.ndarray类型的数据。

    相关文章

      网友评论

        本文标题:matplotlib可视化篇barh()--直方图(2)

        本文链接:https://www.haomeiwen.com/subject/kclbjqtx.html