是否有可能读取由自动缩放设置的轴的刻度?
例如:
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[1,2,3,4,5]
plt.plot(x,y)
plt.grid(True)
fig = plt.gcf()
plt.show()
我想获得x和y轴的比例。在这种情况下,它将是0.5。
答案 0 :(得分:0)
绘图后,您可以
# calculate x scale
ax = fig.gca()
foo = ax.get_xmajorticklabels()
bar = [float(foo[i].get_text()) for i in range(len(foo))]
scale_x = bar[1]-bar[0]
# calculate y scale
foo = ax.get_ymajorticklabels()
bar = [float(foo[i].get_text()) for i in range(len(foo))]
scale_y = bar[1]-bar[0]
print scale_x, scale_y
这只适用于调用plt.show()
之后(我不清楚,可能是针对SO的单独问题),但它有效。只需将这些行附加到您的脚本中即可。