我遇到了一个类似的问题.我不明白为什么勾号标签文本是空字符串:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)**2
fig, ax = plt.subplots()
ax.plot(x,y)
labels = ax.get_xticklabels()
for label in labels:
print(label)
plt.show()
输出:
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
我得到了与ax.xaxis.get_ticklabels()
相同的结果,但当保存或显示时,绘制的图表在x轴上显示了八个带标签的记号.但是,如果我要显示绘图的标签after,则labels
列表已正确填充.当然,现在做任何改变都有点晚了.
fig, ax = plt.subplots()
ax.plot(x,y)
plt.show()
labels = ax.get_xticklabels()
for label in labels:
print(label)
输出:
Text(0,0,'0')
Text(1,0,'1')
Text(2,0,'2')
Text(3,0,'3')
Text(4,0,'4')
Text(5,0,'5')
Text(6,0,'6')
Text(7,0,'7')
为什么会发生这种情况(Mac OS X Yosemite,Matplotlib 1.5.1)以及如何在显示或保存绘图时获取标签?