Построение подграфиков со вторичной непрерывной осью Y по всем подграфикам

У меня есть несколько массивов температуры, скорости ветра, теплового потока и т. д. Каждому из этих массивов назначается собственный участок. Глубина снега, которую я хотел бы нанести на объединенную площадь участков. Как будто вторая ось ординат одного графика.

В прикрепленном изображении я хотел бы создать example plot. Можно видеть, что глубина снега находится на вторичной оси Y.


person icypy    schedule 28.09.2013    source источник
comment
matplotlib.org/examples/pylab_examples/finance_work2.html   -  person tacaswell    schedule 28.09.2013
comment
Вы пробовали что-нибудь? Люди с большей охотой помогут вам исправить неработающий код, чем писать код для вас оптом.   -  person tacaswell    schedule 28.09.2013


Ответы (1)


Вы можете использовать twinx() для создания второй оси Y, которая использует ту же ось X.

ax1 = axes()
ax2 = ax1.twinx()

x = np.arange(100)
y1 = np.random.rand(100)
y2 = np.random.rand(100)

ax1.plot(x,y1,'-r')
ax1.set_ylim(-1,1)
ax2.fill_between(x,0,y2,color='b',alpha=0.5)
ax2.set_ylim(0,2)

ax1.set_ylabel('Red')
ax2.set_ylabel('Blue')

введите здесь описание изображения

person ali_m    schedule 28.09.2013
comment
Привет, спасибо, но я на самом деле ищу перекрывающиеся две оси на левой оси Y и третью на правой стороне. Это означает, что на одном графике есть 3 кривые, имеющие одну и ту же ось X. Может ли Twinx добавить несколько наборов данных по оси Y. - person icypy; 28.09.2013
comment
Извините, ваш первоначальный вопрос был не очень ясен. Пример, на который ссылается @tcaswell, описывает именно то, что вы ищете. - person ali_m; 01.10.2013