美文网首页
matplotlib_bar

matplotlib_bar

作者: Ledestin | 来源:发表于2017-05-18 10:51 被阅读166次

    本文主要介绍用matplotib来制作一个柱状图


    Demo.py

    import matplotlib.pyplot as plt
    import numpy as np
    #柱状图分成上下两部分,每一个柱体上都有相应的数值标注,并且取消坐标轴的显示。
    #向上向下分别生成12个数据,X为 0 到 11 的整数 ,Y是相应的均匀分布的随机数据。 
    #使用的函数是plt.bar,参数为X和Y:
    n = 12
    X = np.arange(n)
    Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)
    Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)
    
    plt.bar(X, +Y1)
    plt.bar(X, -Y2)
    
    plt.xlim(-.5, n)
    plt.xticks(())
    plt.ylim(-1.25, 1.25)
    plt.yticks(())
    
    plt.show()
    
    #下面我们就颜色和数值进行优化。 用facecolor设置主体颜色,edgecolor设置边框颜色为白色
    plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')
    plt.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')
    #接下来我们用函数plt.text分别在柱体上方(下方)加上数值,用%.2f保留两位小数,
    #横向居中对齐ha='center',纵向底部(顶部)对齐va='bottom'
    for x, y in zip(X, Y1):
        # ha: horizontal alignment
        # va: vertical alignment
        plt.text(x + 0.4, y + 0.05, '%.2f' % y, ha='center', va='bottom')
    
    for x, y in zip(X, Y2):
        # ha: horizontal alignment
        # va: vertical alignment
        plt.text(x + 0.4, -y - 0.05, '%.2f' % y, ha='center', va='top')
    

    结果:

    Paste_Image.png Paste_Image.png Paste_Image.png

    相关文章

      网友评论

          本文标题:matplotlib_bar

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