一. 创建一个较为简单的数据集便于观察
raw_data = {\'水果\': [\'香蕉\', \'苹果\', \'草莓\'],\'价格\': [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.25plt.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\')
这两种没有根本的区别,只是代码实现层面不同的编写方法