如何在同一个面积图中绘制两个数据框并通过深色和浅色区分它们?
Posted
技术标签:
【中文标题】如何在同一个面积图中绘制两个数据框并通过深色和浅色区分它们?【英文标题】:How to plot two dataframes in the same area chart and difference them by dark and light colors? 【发布时间】:2019-04-07 18:56:54 【问题描述】:我有两个数据框,假设第一个对应于运营发电厂,第二个对应于管道发电厂。我想在同一个面积图中绘制两者。它们应该通过深色和浅色来区分,如下图所示。我试图在每个数据框中插入一列并将其设置为索引(国家和燃料除外)。我既不能将新列设置为索引,也不能在同一个图中绘制数据框。我真的很感激一些想法来执行它。
df1
2010 2020 2030 2040 2050
Country Fuel
A Gas 100 110 120 130 140
Coal 100 110 120 130 140
df2
2010 2020 2030 2040 2050
Country Fuel
A Gas 100 110 120 130 140
Coal 100 110 120 130 140
【问题讨论】:
【参考方案1】:我发现分层索引会妨碍某些任务(例如这个),最好在平面数据帧上进行所有操作。在下面的步骤中,我使用reset_index
将索引级别转换为普通列,然后set_index
将它们重新放回以准备绘图步骤。
# reset the indexes, and add a new column to both dataframes
df1.reset_index(inplace=True)
df1['Plant Type'] = 'Operational'
df2.reset_index(inplace=True)
df2['Plant Type'] = 'Pipeline'
# concatenate the two dataframes
df_combined = pd.concat([df1, df2])
# set the index back to how it was, but also include the new column, and then plot
df_combined.set_index(['Plant Type', 'Country', 'Fuel']).plot.area()
【讨论】:
我根据您在我的问题中的评论添加了我得到的结果。我的剧情还是有问题。以上是关于如何在同一个面积图中绘制两个数据框并通过深色和浅色区分它们?的主要内容,如果未能解决你的问题,请参考以下文章