Matplotlib: диаграмма областей для всех групп - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь создать диаграмму с накоплением областей для всех групп в моих данных на аналогичной оси X временной шкалы. Мои данные выглядят следующим образом

dataDate  name prediction       
2018-09-30  A   2.309968
2018-10-01  A   1.516652
2018-10-02  A   2.086062
2018-10-03  A   1.827490
2018-09-30  B   0.965861
2018-10-01  B   6.521989
2018-10-02  B   9.219777
2018-10-03  B   17.434451
2018-09-30  C   6.890485
2018-10-01  C   6.106187
2018-10-02  C   5.535563
2018-10-03  C   1.913100

И я пытаюсь создать что-то вроде следующего enter image description here

Ось X будет временным рядом. Пожалуйста, помогите мне воссоздать то же самое. Спасибо

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Скажем, ваши данные хранятся в кадре с именем df.Затем вы можете повернуть фрейм данных и построить его напрямую.Убедитесь, что ваши даты являются фактическими, а не строками.

df["dataDate"] = pd.to_datetime(df["dataDate"])
df.pivot("dataDate", "name", "prediction").plot.area();

enter image description here

0 голосов
/ 16 ноября 2018

Вы можете скопировать свои данные в буфер обмена и попробовать что-то вроде этого

import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_clipboard()
fig, ax = plt.subplots()
for label, sub_df in df.set_index('dataDate').groupby('name'):
    sub_df.plot.area(ax=ax, label=label)
plt.legend()
...