python bar

发布时间:2019-08-15 10:07:36编辑:auto阅读(2022)

    以下为bar的一个实例

    import matplotlib.pyplot as plt
    import numpy as np
    
    
    data = [[13,3,2,55,2,51,4,23],
            [12,34,1,13,55,24,13,13,4],
            [11,23,13,34,52,13,45,12,32,13],
            [12,43,24,13],
            [1,42,4,7,96,34,]]
    
    color_list=['g','b','y','k','r']
    gap = 1/len(data)
    for i,row in enumerate(data):
        x = np.arange(len(row))
        plt.bar(x+i*gap,row,width=gap,color=color_list[i%len(color_list)])
    
    plt.show()

    结果图如下:
    这里写图片描述
    解释:函数enumerate可以获取data的每一列和列的索引值
    建立有重叠的bar图:

    import matplotlib.pyplot as plt
    import numpy as np
    
    
    data = np.array([[5., 30., 45., 22.],
                    [5., 25., 50., 20.],
                    [1., 2., 1., 1.]])
    color_list = ['b', 'g', 'r']
    X = np.arange(data.shape[1])#给出每组列表的个数,即图上的bar的数目
    for i in range(data.shape[0]):#i表示list的索引值
        plt.bar(X, data[i],
        bottom = np.sum(data[:i], axis = 0),
        color = color_list[i % len(color_list)])
    plt.show()
    

    结果如下:
    这里写图片描述
    上面建立了一个二维数组,数组的维度为:第一维度是shape[0]=3(即第一个中括号有三个列表),第二维度是shape[1]=4(每个列表有4个数),
    sum函数的用法见numpy sum
    shape函数的用法见numpy shape

关键字