Python 格式化字符串标签matplotlib

Python 格式化字符串标签matplotlib,python,matplotlib,Python,Matplotlib,我有一组标签,它们是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 = [

我有一组标签,它们是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_ticklables()
返回matplotlib文本对象,而不是字符串列表,我不知道如何修改它们。我还尝试使用
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。在列表comp中有
l

要取消查看的另一层时,获取文本()

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

哇,我正在浏览文本对象方法,完全错过了那一个。。。谢谢哇,我正在浏览文本对象方法,但完全错过了那个。。。谢谢