如何使用Matplotlib和Pandas创建n系列堆叠图

gab6jxml  于 2023-04-04  发布在  其他
关注(0)|答案(1)|浏览(85)

我想创建一个堆栈图“日期”与“石油”的n系列“UniqueID”从一个DataFrame

得到这个图表

我希望我的问题是清楚的。

在下面的简单代码中,我在哪里添加第三个变量“UniqueId”来绘制n系列?

fig, ax = plt.subplots()
sp = ax.stackplot(df['Date'], df['Oil'])
a9wyjsp7

a9wyjsp71#

ax.stackplot的第二个y参数应该是每个"UniqueID"see the doc here)的"Oil"系列的列表。您可以通过以下方式获取此类数据:

y = [serie for uniqueid, serie in df.groupby("UniqueID")["Oil"]]

最终代码应该如下所示:

fig, ax = plt.subplots()

x = df["Date"].unique()
y = [serie for uniqueid, serie in df.groupby("UniqueID")["Oil"]]

ax.stackplot(x, y)

相关问题