Как установить основные тики в лог логе с помощью matplotlib - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь поместить ряд тиков в ось Y графика с инвертированным логарифмическим масштабом.В частности, я хотел бы, чтобы значения 1000, 900, 800 ... и т. Д. Были помечены.

Это код, который я использую:

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
from matplotlib import rcParams
rcParams.update({'figure.autolayout': True})

%matplotlib nbagg


fig, ax = plt.subplots(figsize = (8,4))

ax.set_ylim(200,1000)
ax.set_xlim(-60,40)
plt.gca().invert_yaxis()

ax.set_yscale('log')
majors = np.array([1000, 900, 800, 700, 600, 500, 400, 300, 200])

ax.yaxis.set_major_locator(ticker.FixedLocator(majors))
ax.yaxis.set_major_formatter(ticker.ScalarFormater())

ax.xaxis.set_major_locator(ticker.MultipleLocator(10))
ax.xaxis.set_minor_locator(ticker.MultipleLocator(1))

plt.xlabel('Temp (ºC)')
plt.ylabel('Pressure (hPa)')


plt.savefig(fname='test.png', dpi = 200)
plt.close()

И этоРисунок, который я получаю: enter image description here

Как вы можете видеть, тики на оси y размещаются по умолчанию, а не так, как я хочу.Мой звонок ax.yaxis.set_major_locator(ticker.FixedLocator(majors)), похоже, игнорируется.Что я здесь не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...