一. 创建一个较为简单的数据集便于观察
raw_data = https://www.it610.com/article/{'水果': ['香蕉', '苹果', '草莓'],
'价格': [2,4,10],
'数量': [5,3,6],}
df = pd.DataFrame(raw_data)
print(df)
水果 价格 数量
0 香蕉 2 5
1 苹果 4 3
2 草莓 10 6
二.创建并列柱状图 法一:根据数据框的行数创建数列pos,定义柱的宽度
pos =list(range(len(df['水果'])))
width = 0.25
#价格列
plt.bar([p - width/2 for p in pos], df['价格'], width, color = '#FFCCCC')
#数量列
plt.bar([p + width/2 for p in pos], df['数量'], width, color = '#6699CC')plt.xticks(np.linspace(0, 2, 3), df['水果'])
plt.legend(['price', 'number'], loc='upper left')
法二:
pos = np.arange(len(df))
width = 0.25
plt.bar(pos, df['价格'], width, color = '#FFCCCC')
plt.bar(pos+width, df['数量'], width, color = '#6699CC')plt.xticks(pos, df['水果'])
plt.legend(['price', 'number'], loc='upper left')

文章图片
【Matplotlib-并列柱状图/组合柱状图】这两种没有根本的区别,只是代码实现层面不同的编写方法