簡體   English   中英

使用axhline時刪除了Matplotlib y軸刻度

[英]Matplotlib y-axis ticks removed when using axhline

我有其中一個問題yaxis蜱使用時被刪除a0.axhline 我想在y = 0處畫一條線,但還要保持yaxis刻度。 如何實現呢?

使用axhline: 用axhline

沒有axhline: 沒有axhline

碼:

plt.style.use('ggplot')
f, a0 = plt.subplots(1,1)
a0.axhline(color='dimgray', y='0', alpha=0.3, linestyle='-- ')
a0.set_title("Revolutions Per Minute")
a0.plot (step['time'], step['RPM'], color='royalblue')

您將行的位置設置為字符串ax.axhline(y='0', ...) 這將導致它被解釋為一個類別。 並且由於它是軸上的唯一類別,因此不再顯示其他刻度標簽。 而是使用數字:

ax.axhline(y=0, ...)

您可以手動設置yticksyticklables

plt.style.use('ggplot')
f, a0 = plt.subplots(1,1)
a0.axhline(color='dimgray', y='0', alpha=0.3, linestyle='-- ')
a0.set_yticks([1, 2, 3])
a0.set_yticklabels([1, 2, 3])
a0.set_title("Revolutions Per Minute")
a0.plot (step['time'], step['RPM'], color='royalblue')

編輯:如果先繪制然后再添加線,也可以從軸中獲取它們。

plt.style.use('ggplot')
f, a0 = plt.subplots(1,1)
a0.plot (step['time'], step['RPM'], color='royalblue')
yticks = a0.get_yticks()
a0.set_yticks(yticks)
a0.set_yticklabels(yticks)
a0.axhline(color='dimgray', y='0', alpha=0.3, linestyle='--')
a0.set_title("Revolutions Per Minute")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM