您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Matplotlib中显示图之前获取空的刻度标签

在Matplotlib中显示图之前获取空的刻度标签

您已正确确定问题所在:在致电之前,plt.show()未明确设置任何内容。这是因为matplotlib除非有必要,否则避免了刻度线的静态定位,因为您可能希望与其进行交互:ax.set_xlim()例如,如果可以的话。

在您的情况下,您可以使用绘制图形画布fig.canvas.draw()来触发刻度线定位,以便检索其值。

或者,您可以显式设置xticks,这将依次将轴设置为FixedFormatterFixedLocator并获得相同的结果。

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)
ax.set_xlim(0,6)

# Must draw the canvas to position the ticks
fig.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:
0
1
2
3
4
5
6
其他 2022/1/1 18:38:03 有538人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶