簡體   English   中英

格式化字符串ticklabels matplotlib

[英]Formatting string ticklabels matplotlib

我有一組ticklabels,它們是我的x軸上的字符串,並且我希望能夠->修改->設置它們。 舉例來說,我的情節看起來像這樣:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(1,6), range(5))
plt.xticks(range(1,6), ['a','b','c','d','e']

我想將x軸上的標簽更改為['(a)','(b)','(c)','(d)','(e)']

最簡單/最好的方法是什么? 我已經嘗試過類似的事情:

labels = ['(%s)' % l for l in ax.xaxis.get_ticklabels()]
ax.xaxis.set_ticklabels(labels)

但是ax.xaxis.get_ticklabels()返回的是matplotlib Text對象,而不是字符串列表,我不確定如何修改它們。 我也嘗試使用matplotlib.ticker.FuncFormatter但只能獲得數字位置,而不是標簽本身。 任何將不勝感激。

再剝離一層:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(1,6), range(5))
plt.xticks(range(1,6), ['a','b','c','d','e'])

labels = ['(%s)' % l.get_text() for l in ax.xaxis.get_ticklabels()]
ax.xaxis.set_ticklabels(labels)

您的代碼,但list comp中有l地方是l.get_text()

暫無
暫無

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

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