python bar

来源:互联网 发布:linux双机热备方案 编辑:程序博客网 时间:2024/05/24 06:21

以下为bar的一个实例

import matplotlib.pyplot as pltimport numpy as npdata = [[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 pltimport numpy as npdata = 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

原创粉丝点击