Как нарисовать две серии Панд на одной фигуре? - PullRequest
0 голосов
/ 27 октября 2018

У меня есть две серии с одинаковыми индексами, и мне нужно вывести их значения на одном графике, каждый в виде линейного графика.

fig, axs = plt.subplots()
sns.lineplot(numkdhh_pmf.index, numkdhh_pmf.values, ax = axs, color = 'r')
sns.lineplot(biased.index, biased.values, ax = axs, color = 'b')
plt.show()

Это показывает только последний график, в зависимости от того, что написано вторым.Любые мысли о том, почему оба графика отказываются показывать на рисунке?

Значения обеих серий находятся в одинаковом масштабе, поэтому это не проблема масштабирования.

РЕДАКТИРОВАТЬ

На двух графиках показаны без учета рис. Топоры, настроенные в соответствии с приведенным ниже кодом.Я до сих пор не уверен, почему, поскольку у меня нет полного понимания Seaborn / matplotlib.Код действительно запускается из Jupyter, но он всегда был в одной ячейке.Спасибо всем за помощь.

ax2 = sns.lineplot(biased.index, biased.values, color = 'r')
sns.lineplot(numkdhh_pmf.index, numkdhh_pmf.values, ax = ax2, color = 'b')
plt.show()

1 Ответ

0 голосов
/ 27 октября 2018

Хотя ваш код работает для меня как есть, есть еще одна альтернатива, которую вы можете попробовать.sns.lineplot возвращает экземпляр оси (назовем его ax1), который вы можете передать на второй линейный график.Я выбрал некоторые поддельные данные, чтобы дать ответ.

data = np.random.random((10))
ax1 = sns.lineplot(data, data, ax = axs, color = 'r')
sns.lineplot(data+0.5, data+0.8, ax = ax1, color = 'b')

enter image description here

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