簡體   English   中英

使用 matplotlib 添加自定義刻度

[英]add custom tick with matplotlib

我想在matplotlib圖中添加一個自定義刻度。 目前,我使用以下命令添加我的刻度(例如):

axis.set_yticks([0.5,0.6,0.7,0.8,0.9,1.0])

我希望能夠做到:

axis.set_yticks({ 1.0 : "some custom text"})

因此,而不是1.0 ,在該位置顯示some custom text

注意:我在 4 年前發現了這個問題。 我問的基本相同,希望有更好的方法: 添加自定義刻度和標簽

另一個問題及其答案仍然有效。 您不能使用字典來設置刻度。

然而,在這種情況下,您的要求似乎有所不同。 雖然鏈接的問題要求保持刻度不變,但在這里您無論如何都想手動設置刻度。 這將需要設置刻度刻度標簽,但允許在設置標簽時只用相應的值替換字典中的任何鍵。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ticks = [0.5,0.6,0.7,0.8,0.9,1.0]
ax.set_yticks(ticks)

dic = { 1.0 : "some custom text"}
labels = [ticks[i] if t not in dic.keys() else dic[t] for i,t in enumerate(ticks)]
## or 
# labels = [dic.get(t, ticks[i]) for i,t in enumerate(ticks)]

ax.set_yticklabels(labels)

plt.tight_layout()
plt.show()

在此處輸入圖片說明

暫無
暫無

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

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