
您已正确确定问题所在:在致电之前,
plt.show()未明确设置任何内容。这是因为matplotlib除非有必要,否则避免了刻度线的静态定位,因为您可能希望与其进行交互:
ax.set_xlim()例如,如果可以的话。
在您的情况下,您可以使用绘制图形画布
fig.canvas.draw()来触发刻度线定位,以便检索其值。
或者,您可以显式设置xticks,这将依次将轴设置为
FixedFormatter,
FixedLocator并获得相同的结果。
import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0,2*np.pi,100)y = np.sin(x)**2fig, ax = plt.subplots()ax.plot(x,y)ax.set_xlim(0,6)# Must draw the canvas to position the ticksfig.canvas.draw()# Or Alternatively#ax.set_xticklabels(ax.get_xticks())labels = ax.get_xticklabels()for label in labels: print(label.get_text())plt.show()Out:0123456
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)