繁体   English   中英

Matplotlib x 轴重叠

[英]Matplotlib x-axis overlap

我有两个列表,x_axis 是“12:30:00”格式的时间列表。 y 轴是百分比值。 我需要在图形上绘制所有值,但是由于 x 轴字符串太长,它们重叠。 无论如何我可以让 matplotlib 不每次都显示在 x 轴上吗? 任何帮助,将不胜感激。 在此处输入图片说明

在此处输入图片说明

您可以旋转并打印每第二个刻度标签:

_ = plt.plot(df['str_time'], df.Pct, 'ro')
ax = plt.gca()
plt.axis([0,24,0,50])
plt.xticks(rotation=90)
for label in ax.get_xaxis().get_ticklabels()[::2]:
    label.set_visible(False)

输出:

在此处输入图片说明

您可以使用以下代码旋转标签以显示列表时间。

plt.xticks(rotation=90)

我需要步进 x 轴数字而不是旋转。

ax.set_xticks(np.arange(0, max_number, 5)) #step 5 digits

输出: matplotlib 绘图

自动执行此操作的一种方法是使用 autofmt_xdate

fig.autofmt_xdate():

要获取 fig 对象,您必须调用 subplot 函数

fig, ax = plt.subplots()

效果很好

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM