Как установить одинаковое значение оси на нескольких участках? - PullRequest
2 голосов
/ 22 января 2020

У меня есть данные x и y

Я хочу создать небольшую многострочную диаграмму для каждой линии. Я попробовал код из этой страницы . Я изменил несколько строк в соответствии с моим кодом. Вот мой код:

fig, axs = plt.subplots(4, 5, figsize = (15,15))
ylim = (-100, 55)
k = 0
for i in range(4):
    for j in range(5):
        to_plot = real.loc[real['order_number'] == orderlist[k]]
        axs[i,j].plot(to_plot['event_timestamp'], to_plot['altitude_in_meters'])
        axs[i,j].plot(to_plot['event_timestamp'], to_plot['RASTERVALU'])
        k+=1

orderlist - это список, который содержит номер заказа. Я хочу, чтобы у каждого графика был один и тот же предел для оси y, но ylim = (-100,55) не работает, вместо этого у меня есть этот график с другой осью y.

small multiple

Как создать небольшой кратный график с одинаковым значением оси Y на каждом графике?

1 Ответ

1 голос
/ 22 января 2020
ylim = (-100, 55)

Сам ничего не делает, но создает tuple с именем ylim. Вам нужно вызвать метод matplotlib.axes.Axes.set_ylim для каждого экземпляра axes с ylim в качестве аргумента, т. Е.

fig, axs = plt.subplots(4, 5, figsize = (15,15))
ylim = (-100, 55)
k = 0
for i in range(4):
    for j in range(5):
        to_plot = real.loc[real['order_number'] == orderlist[k]]
        axs[i,j].plot(to_plot['event_timestamp'], to_plot['altitude_in_meters'])
        axs[i,j].plot(to_plot['event_timestamp'], to_plot['RASTERVALU'])
        axs[i,j].set_ylim(ylim)
        k+=1

Если вы не хотите, чтобы метки y-галочки между нарисованными графиками ( так как ось Y будет одинаковой для всех графиков), вы также можете сделать

fig, axs = plt.subplots(4, 5, sharey=True, figsize = (15,15))
axs[0,0].set_ylim([-100, 55])
k = 0
for i in range(4):
    for j in range(5):
        to_plot = real.loc[real['order_number'] == orderlist[k]]
        axs[i,j].plot(to_plot['event_timestamp'], to_plot['altitude_in_meters'])
        axs[i,j].plot(to_plot['event_timestamp'], to_plot['RASTERVALU'])
        k+=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...