使用matplotlib添加自定义记号

2024-05-21 22:56:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在matplotlib图形中添加一个自定义勾号。目前,我使用以下命令添加记号(例如):

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

我希望能够:

^{pr2}$

因此,在该位置显示“一些自定义文本”而不是“1.0”。在

注:我在4年前就发现了这个问题。我问的基本上是一样的,希望有更好的方法 Adding a custom tick and label


Tags: and方法文本命令图形matplotlibcustomset
1条回答
网友
1楼 · 发布于 2024-05-21 22:56:47

另一个问题及其答案仍然有效。不能使用词典设置刻度。在

但在这种情况下,你的要求似乎有所不同。虽然链接的问题要求保持勾号不变,但您仍然需要手动设置刻度。这将需要设置ticksticklabels,但在设置标签时,允许只将字典中的任何键替换为相应的值。在

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()

enter image description here

相关问题 更多 >