gpt4 book ai didi

python - 如何让x轴标签适合图表的宽度?

转载 作者:行者123 更新时间:2023-12-01 04:50:45 25 4
gpt4 key购买 nike

这是我的代码:

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
fig.canvas.draw()
labels = [item.get_text() for item in ax.get_xticklabels()]
labels[0] = 'Inbox'
labels[1] = 'Sent'
labels[2] = 'Important'
labels[3] = 'Starred'
labels[4] = 'Unread'
ax.set_xticklabels(labels)
plt.plot([1500,1200,900,600,300])
plt.show()

如您所见,我只想在 x 轴上有 5 个标签。然而,当我运行该图时,它会生成 8 个可用的标签槽。前 5 个是我想要的标签,但后 3 个是空白的。如何只设置我想要的 5 个标签?

最佳答案

这是因为绘图不仅为您指定的点绘制点,还为其他点绘制点。如果不更改轴标签,问题就很明显:

enter image description here

如果您希望数据有 5 个刻度,那么您还需要使用 set_xticks() 设置它们的位置 - 如果您不这样做,那么您只需替换已经存在的刻度线,这不是您想要的。

但这不是重点,这种数据不应该用这样的线来表示,你应该使用条形图:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()

x_locs = np.arange(5)
width = 0.9

email_labels = ["Inbox", "Sent", "Important", "Starred", "Unread"]
email_volumes = [1500, 1200, 900, 600, 300]

ax.bar(x_locs-width/2.0, email_volumes, width)
ax.set_xticks(x_locs)
ax.set_xticklabels(email_labels)


plt.show()

enter image description here

关于python - 如何让x轴标签适合图表的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545302/

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