Matplotlib:所有组的堆积面积图
Matplotlib: Stacked area chart for all the groups
我正在尝试在类似的时间轴 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
我正在尝试创建如下内容
x 轴将是时间序列。请帮助我重新创建相同的内容。谢谢
您可以将您的数据复制到剪贴板并尝试这样的操作
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()
假设您的数据存储在名为 df
的数据框中。然后你可以旋转数据框并直接绘制它。请确保您的日期是实际日期,而不是字符串。
df["dataDate"] = pd.to_datetime(df["dataDate"])
df.pivot("dataDate", "name", "prediction").plot.area();
我正在尝试在类似的时间轴 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
我正在尝试创建如下内容
x 轴将是时间序列。请帮助我重新创建相同的内容。谢谢
您可以将您的数据复制到剪贴板并尝试这样的操作
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()
假设您的数据存储在名为 df
的数据框中。然后你可以旋转数据框并直接绘制它。请确保您的日期是实际日期,而不是字符串。
df["dataDate"] = pd.to_datetime(df["dataDate"])
df.pivot("dataDate", "name", "prediction").plot.area();