2013-05-27 3 views
0

Я пытаюсь построить большие числа по оси x, используя интерактивный режим, и вместо полного числа на тиках я получаю 1, 1,5 и так далее и + 5.043e3. как я могу отобразить полный номер?pyplot отображает большие числа в интерактивном режиме

После определения plt.ion(), я есть это внутри цикла:

plt.xlabel("Wavelength (angstroms)") 
plt.ylabel("Arbitrary Flux") 
plt.plot(xo,yo,'k--') 
    for e in range(multispec): 
    if (e == 0): 
     plt.plot(MX[e],MY[e], 'r-') 
    else: 
    plt.plot(MX[e],MY[e]) 
l=float(int(n)) 
plt.axis([n-1, n+1, 0.1, 1.1]) 

п другая переменная, определенная в течение.

+0

также: http://stackoverflow.com/questions/11855363/how-to- remove-relative-shift-in-matplotlib-axis/11858063 # 11858063 – tacaswell

ответ

1

[копируется из How to prevent numbers being changed to exponential form in Python matplotlib figure]

Форматирование клеща меток контролируется Formatter объекта, если у вас есть что-нибудь фантазии будет не сделано ScalerFormatter [по умолчанию] [1]. Этот форматтер будет использовать постоянный сдвиг, если дробное изменение видимых значений очень мало. Чтобы избежать этого, просто отключить его:

plt.plot(arange(0,100,10) + 1000, arange(0,100,10)) 
ax = plt.gca() 
ax.get_xaxis().get_major_formatter().set_useOffset(False) 
plt.draw() 

Если вы хотите, чтобы избежать научной нотации в целом,

ax.get_xaxis().get_major_formatter().set_scientific(False) 
+0

это не сработало, но в http://stackoverflow.com/questions/14711655/how-to-prevent-numbers-being-changed-to- exponential-form-in-python-matplotlib-fi работала и другая процедура. благодаря! –

+0

извините, пропустите-прочитайте свой вопрос. – tacaswell

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