繁体   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