У меня есть некоторые данные, которые я хотел бы нарисовать на одной фигуре прямо друг над другом. Один набор имеет другой диапазон y. Кажется, я могу построить два набора с одинаковым диапазоном y, используя plt
, или два набора с разными диапазонами, используя ax2 = ax1.twinx()
, но не все три. Есть какой-то хитрый способ сделать это?
Edit:
Очевидно, это не так просто, как казалось из ответа!
def plot_data2(a = 0 , b = 0, c = 0 ):
fig, ax1 = plt.subplots(figsize = (18,8))
ax2 = ax1.twinx()
ax1.plot(a, 'b')
ax1.plot(b, 'g')
ax2.plot(c, 'r')
fig.tight_layout()
plt.show()
plot_data(a=data1, b=data2)
Так что теперь я могу нормально печатать три графика вместе. Я хотел бы также иметь возможность печатать только любые два.
Я собирался спросить, почему оси не были масштабированы, но теперь, когда я его печатаю, я понимаю, что это потому, что я присвоил значение по умолчанию 0, поэтому он растягивает график. Есть ли способ напечатать только два графика и масштабировать их по размеру? А также обновите метки осей соответственно. Я думаю, я мог бы написать пару if
внутри функции, но я надеялся, что есть более элегантный способ.
О, и еще одна вещь! Как насчет обоих диапазонов x и y?