簡體   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