import matplotlib
import matplotlib.pyplot as plt
import numpy as np
N = 5
menMeans = (20, 35, 30, 35, -27)
womenMeans = (25, 32, 34, 20, -25)
menStd = (2, 3, 4, 1, 2)
womenStd = (3, 5, 2, 3, 3)
ind = np.arange(N) # the x locations for the groups
width = 0.35 # the width of the bars: can also be len(x) sequence
fig, ax = plt.subplots()
p1=ax.bar(ind,menMeans,width,yerr=menStd,label='men',align='edge')
p2=ax.bar(ind,womenMeans,width,label='women',align='edge',bottom=menMeans,yerr=womenStd)
ax.axhline(0,color='grey',linewidth=0.8)
ax.set_title('Scores by group and gender')
ax.set_ylabel("Scores")
ax.legend()
ax.set_xticks([0,1,2,3,4])
ax.set_xticklabels(('G1','G2','G3','G4','G5'))
# Label with label_type 'center' instead of the default 'edge'
ax.bar_label(p1, label_type='center')
ax.bar_label(p2, label_type='center')
ax.bar_label(p2)
plt.show()
最后面几行代码ax.bar_label()报错
AttributeError: 'AxesSubplot' object has no attribute 'bar_label'
而在Matplotlib官网中有ax.bar_label()的使用方式
matplotlib版本低了,升级就好
问题被我解决了,因为bar_label出现在matplotlib的最新版3.4.1,而我之前安装的是旧版,大家可以uninstall matplotlib 后下载最新版安装
python作图很强 , 也可了解下pyechart , bokeh等动态可视化工具包
建议参考一下博文:如何在pycharm中更新第三方库matplotlib。链接:https://blog.csdn.net/Yesmit/article/details/107140744