Как мне получить управление осями в двойных осях pyplot? - PullRequest
3 голосов
/ 22 июля 2011

Мне нужно уточнить add_subplot: в приведенном ниже примере у меня есть 2 вспомогательных участка, сдвоенных по оси Y. Я хочу манипулировать каждой осью, но не понимаю!

import matplotlib.pyplot as plt
fig = plt.figure()
axes1 = fig.add_subplot(111)
axes2 = axes1.twiny()    # share the y-axis
axes1.plot( somedata[:,2], somedata[:,1], label='axis1' )
axes2.plot( somedata[:,3], somedata[:,1], label='axis2' )
plt.legend()
plt.show()

Я попытался установить пределы для каждой оси x: axes1.set_data_interval(0, 300), что не удалось.

Метки в легенде отображаются только для второй оси, оси2. Опять же, я не понимаю, как это работает или как это изменить. Я полагаю, что последняя команда (axes2.plt()) оставляет эту ось активной для графика. Как бы я манипулировал этим явно?

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

axes.gca () не работает для меня.axes.set_ylim (y0, y1) и axes.set_xlim (x0, x1) работали отлично!

0 голосов
/ 22 июля 2011

1) Чтобы установить пределы для каждой оси x, axes1.set_xlim(0,300) и axes2.set_xlim(0, 300) действительно работают для меня.

Метод set_data_interval - это метод 'оси' (действительной оси графика), в то время как set_xlim - метод объекта 'осей' (области, в которой отображается ваш график, с осью, строки, текст и т. д.). И axes1 и axes2 являются «осями» (возвращаются методом add_subplot).

2) Чтобы получить метки обеих осей в легенде, взгляните на решение, заданное этим вопросом: Вторичная ось с twinx (): как добавить в легенду?

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