gpt4 book ai didi

python matplotlib条形图添加条形标题

转载 作者:行者123 更新时间:2023-12-01 03:36:34 32 4
gpt4 key购买 nike

我正在使用 matplotlib 和 python 2.7

我需要创建一个简单的 pyplot 条形图,对于每个条形图,我需要在其顶部添加它的 y 值。

我正在使用以下代码创建条形图:

import matplotlib.pyplot as plt

barlist = plt.bar([0,1,2,3], [100,200,300,400], width=5)

barlist[0].set_color('r')
barlist[0].title("what?!")

颜色的变化有效,但对于标题我收到以下错误:属性错误:“矩形”对象没有属性“标题”

我发现了一些questions关于类似的问题,但他们没有使用相同的方式创建条形图,并且他们的解决方案对我不起作用。

有什么简单的解决方案可以将条形的值添加为它们上方的标题吗?

谢谢!

最佳答案

可以找到 matplotlib.pyplot.bar 文档 here 。文档中有一个示例,可以在 here 中找到。它说明了如何绘制条形图并在条形上方添加标签。可以稍微修改一下以使用您问题中的示例数据:

from __future__ import division
import matplotlib.pyplot as plt
import numpy as np

x = [0,1,2,3]
freq = [100,200,300,400]
width = 0.8 # width of the bars

fig, ax = plt.subplots()
rects1 = ax.bar(x, freq, width, color='r')

ax.set_ylim(0,450)
ax.set_ylabel('Frequency')
ax.set_title('Insert Title Here')
ax.set_xticks(np.add(x,(width/2))) # set the position of the x ticks
ax.set_xticklabels(('X1', 'X2', 'X3', 'X4', 'X5'))

def autolabel(rects):
# attach some text labels
for rect in rects:
height = rect.get_height()
ax.text(rect.get_x() + rect.get_width()/2., 1.05*height,
'%d' % int(height),
ha='center', va='bottom')

autolabel(rects1)

plt.show()

这会产生以下图表:

enter image description here

关于python matplotlib条形图添加条形标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40287847/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com