使用上面的代码,我创建了5个子情节:
values = {"x_values" : ["ENN", "CNN", "ENN-CNN"],
"eu" : [11, 79.97, 91],
"man" : [11, 80, 90],
"min3" : [11, 79.70, 90],
"min4" : [11, 79.50, 90],
"che" : [12, 78, 89]}
df = pd.DataFrame(data=values)
fig, axs = plt.subplots(2, 3, figsize=(10,6))
eu = axs[0, 0].bar(df["x_values"], df["eu"]
man = axs[0, 1].bar(df["x_values"], df["man"])
min3 = axs[0, 2].bar(df["x_values"], df["min3"])
min4 = axs[1, 0].bar(df["x_values"], df["min4"])
che = axs[1, 1].bar(df["x_values"], df["che"])
fig.delaxes(axs[1, 2])
它们打印出来了,但是我还想把每个条的y值添加到条中。
我已经尝试了下面的代码,但它不打印任何东西,没有错误,但也没有打印
for index, value in enumerate(df["corresponding_df"]):
plt.text(value, index, str(value))
如果我尝试variable-name.text(value, index, str(value))
我得到错误'BarContainer' object has no attribute 'text'
。如果fig.text
再次不打印。如果axs[subplot-index].text
我只能看到一个数字在窗口结束以外的绘图。有什么建议吗?
2条答案
按热度按时间cunj1qz11#
在matplotlib 3.4.0+中尝试使用bar_label:
输出量:
mbskvtky2#
对于文本,可以这样做: