如何在子图中绘制多个数据框

新手上路,请多包涵

我有几个 Pandas DataFrames 共享相同的值范围,但具有不同的列和索引。调用 df.plot() 时,我得到单独的绘图图像。我真正想要的是将它们全部放在与子图相同的情节中,但不幸的是,我未能提出解决方案,非常感谢一些帮助。

原文由 Jimmy C 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 719
2 个回答

您可以使用 matplotlib 手动创建子图,然后使用 ax 关键字在特定子图上绘制数据帧。例如对于 4 个子图 (2x2):

 import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2)

df1.plot(ax=axes[0,0])
df2.plot(ax=axes[0,1])
...

这里 axes 是一个包含不同子图轴的数组,您可以通过索引 axes 来访问一个。

如果你想要一个共享的 x 轴,那么你可以提供 sharex=Trueplt.subplots

原文由 joris 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以看到例如在演示 joris 答案的 文档 中。同样从文档中,您还可以在 pandas plot 函数中设置 subplots=Truelayout=(,)

 df.plot(subplots=True, layout=(1,2))

您还可以使用 fig.add_subplot() 它采用子图网格参数,例如 221、222、223、224 等,如此 的帖子中所述。可以在 这个 ipython notebook 中看到有关 pandas 数据框的很好的绘图示例,包括子图。

原文由 sedeh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题