我有一组刻度标签,它们是我的 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)
您的代码,但 l.get_text() 在列表 comp 中有一个 l。
