python bar

2023-01-31 02:01:34 python bar

以下为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

相关文章