访问Matplotlib文本对象标签文本

时间:2018-02-20 15:23:19

标签: python matplotlib

尝试使用以下代码访问matplotlib轴标签的长度:

    for label in ax.xaxis.get_ticklabels()[1::2]:
        print(len(label))

但是我收到的错误是该对象没有length属性。 print(label[2])也出现类似错误。

2 个答案:

答案 0 :(得分:5)

Matplotlib的文本对象无法通过标准索引进行访问 - 您要查找的是text object documentation中找到的get_text()属性。例如。

for label in ax.xaxis.get_tick_labels()[1::2]:
    print(len(label.get_text()))

答案 1 :(得分:5)

您从label迭代的get_ticklabels()matplotlib.text.Text个对象。要访问该对象中的实际文本,您可以使用get_text()

所以,这样的事情应该有效:

for label in ax.xaxis.get_ticklabels()[1::2]:
    print(len(label.get_text()))

请注意,此长度可能包含特殊字符(例如latex $ mathmode delimiters),因为它是原始文本字符串的长度