[英]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.