2014-11-26 4 views
2

Есть ли возможность прочитать шкалу оси, заданную автомасштабированием?Matplotlib - получить значение автомасштабирования

Например:

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() 

Я хочу, чтобы получить масштаб х и оси у. В этом случае это будет 0,5.

ответ

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), но она работает. Просто добавьте эти строки в свой скрипт.

+0

спасибо, что это работает – Max

Смежные вопросы