Отключение научной нотации в масштабе matplotlib

#python #matplotlib #scale

#python #matplotlib #масштаб

Вопрос:

Я пытаюсь составить график с ненаучной нотацией в масштабе y. Мой код выглядит следующим образом:

 fig = mpl.figure(figsize=(10, 6))
ax = fig.add_subplot(111)
ax.semilogy(x,(y-0.9*best_vals[0]),'--',color = 'gray', lw = 1,fillstyle = 'none', label = 'experiment')
ax.semilogy(x[start:],(y_fit-0.9*best_vals[0]),'r-', label = '4-exponential fit')

ax.set_xlim(0,5000)
ax.set_ylim(1e2,1e6)
ax.yaxis.set_major_formatter(ScalarFormatter())
  

Если верхний предел шкалы y установлен равным 1e5, он выглядит совершенно нормально с y-метками 100, 1000, 10000, 100000. Но когда я пытаюсь сделать это, 1e6 y нотация меняется на научную с верхним пределом 0.1e7. Есть ли какой-либо шанс заставить его быть 1000000, а не 0.1e7? Заранее благодарю вас.

Ответ №1:

Вы можете отключить научную нотацию с помощью

 ax.get_yaxis().get_major_formatter().set_scientific(False)