Панды строят несколько фреймов данных, один фрейм создает плоскую линию - PullRequest
2 голосов
/ 09 апреля 2019

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

gdpgraph['sum'] = gdpgraph['sum'].fillna(0).astype(np.int64)
gdpgraph.info()

Индекс: 18 записей, с 2000 по 2017 год Столбцы данных (всего 1 столбец)): сумма 18 ненулевых int64 dtypes: int64 (1) использование памяти: 928,0+ байтов

graphsoccer = soccer.groupby(['Year'])['Amount'].agg(['sum'])
graphsoccer.info()

Индекс: 18 записей, с 2000 по 2017 Столбцы данных (всего 1 столбец): сумма 18 ненулевыхint64 dtypes: int64 (1) использование памяти: 288,0+ байтов

fig = plt.figure()
ax = plt.subplot(111)
gdpgraph['sum'].plot(ax=ax)
graphsoccer['sum'].plot(ax=ax)

В результате получается график, содержащий только графическую информацию, другой плоский фрейм данных.

Ваша помощь очень приветствуется.

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

Это проблема масштабирования ваших данных, одно значение DataFrame указано в 100M, а другое в 100.

Вы можете создать дополнительную ось для построения одной из ваших серий:

fig = plt.figure()
ax = plt.subplot(111)
ax2 = ax.twinx()

gdpgraph['sum'].plot(ax=ax)
graphsoccer['sum'].plot(ax=ax2)

Или

gdpgraph['sum'].plot(ax=ax)
graphsoccer['sum'].plot(ax=ax, secondary_y=True)
0 голосов
/ 09 апреля 2019

Альтернативный раствор:

fig, ax = plt.subplots(1,1)
gdpgraph['sum'].plot(ax=ax)
graphsoccer['sum'].plot(ax=ax, secondary_y=True)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...