gpt4 book ai didi

python - 在 Matplotlib (Python) 中将文本添加到条形图中

转载 作者:行者123 更新时间:2023-11-30 22:45:23 25 4
gpt4 key购买 nike

我需要 Matplotlib 图中 x 轴上的文本。我有:

import matplotlib.pyplot as plt
x=[1,2,3,4,5,6,7,8,9,10,11,12]
y=[5.3, 6.1, 25.5, 27.8, 31.2, 33.0, 33.0, 32.8, 28.4, 21.1, 17.5, 11.9]

plt.bar(x,y, color='g')

plt.xlabel('x')
plt.ylabel('y')
plt.title("Max Temperature for Months")
plt.legend()
plt.show()

我的输出是:

My graph

我不知道如何用文本(字符串)替换 x=[ ] 列表,它给了我错误。

我想要的图表是:

My desied graph

最佳答案

按如下方式使用plt.xticks()函数:

import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[1,2,3,4,5]

plt.bar(x,y, color='g')

plt.xlabel('x')
plt.ylabel('y')

生成一些标签以显示在图表上。字符串列表的长度必须与 xy 列表的长度相同:

LABELS = ["M","w","E","R","T"]

使用以下内容绘制它们:

plt.xticks(x, LABELS)

plt.title("Max Temperature for Months")
plt.legend()
plt.show()

请参阅此处的示例:http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

编辑:有关调整标签位置/方向/位置的信息,请参阅 matplotlib api 文档和这个问题:matplotlib ticks position relative to axis .

编辑:添加图像: http://imgur.com/igjUGLb

编辑:为了实现您需要的位置和方向,您会在这个问题中找到一个很好的例子:Matplotlib Python Barplot: Position of xtick labels have irregular spaces between eachother .

实现:

b = plt.bar(x,y, color='g')
xticks_pos = [0.5*patch.get_width() + patch.get_xy()[0] for patch in b]
plt.xticks(xticks_pos, LABELS,rotation = 45)

给出:https://imgur.com/a/78Esz希望有帮助。

关于python - 在 Matplotlib (Python) 中将文本添加到条形图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41203364/

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