我能举个例子来展示如何用Matplotlib创建分组条形图,以及如何用标签标注条形图吗?谢谢你!
来看看这个:
导入matplotlib导入matplotlib。men_std = (20,35,30,35,27), (2,3,4,1,2) women_means, women_std = (25,32,34,20,25), (3,5,2,3,3) ind = np.arange(len(men_means))#组的x个位置宽= 0.35#条的宽度图,ax = plt.subplot ()bar(ind - width/2, men_means, width, yerr=men_std, label='Men') rects2 = ax。bar(ind + width/2, women_means, width, yerr=women_std, label='女性')#添加一些文本标签,标题和自定义x轴标签等。ax.set_ylabel ax(“分数”)。set_title('分数按分组和性别')set_xticklabels (G1, G2, G3、G4, G5)) ax.legend () def autolabel(矩形、xpos =“中心”):”“”在每个矩形条上附加一个文本标签,显示其高度。*xpos*表示文本W.R.T.的中心位置酒吧。它可以是下面的{'center', 'right', 'left'}之一。”“”Ha = {'center': 'center', 'right': 'left', 'left': 'right'} offset = {'center': 0, 'right': 1, 'left': -1} for rects: height = rect.get_height() ax. annotation ('{}'.format(height), xy=(rect.get_x() + rect.get_width() / 2,高度),xytext=(offset[xpos]* 3,3),#使用3点偏移textcoords = "抵消点”,#在两个方向Ha = Ha [xpos], va='bottom') autolabel(rects1,“左”)autolabel(rects2,“右”)图tight_layout() plt.show()