在不同图行上绘制Pandas Dataframe中列的简单方法?

时间:2018-10-19 01:12:35

标签: pandas plot plotly seaborn python-ggplot

是否有一种简单的方法可以使用共享的X轴在不同的行/图块上绘制所有列?我不想深入了解每个新人物的matplotlib子图;我正在寻找一种简单的方法,使我可以轻松查看数据框中的所有数据。我觉得在Pandas或Seaborn中缺少一个简单的标志或选项。

一个简单的pandas dataframe.plot()给出了所有堆叠的变量: enter image description here

我想要一种简单的方法(没有很多行matplotlib图形构建),为数据框中的每个变量(列)创建一个新的构面,并使用单独的Y轴,但共享X轴。

也许我在ggplot2中忽略了什么?

目标-类似于以下内容: enter image description here

1 个答案:

答案 0 :(得分:3)

喜欢吗?

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

它似乎完全可以生成您想要的东西。

如果您希望标签不在绘图之外,则可以在df.plot之后进行一些处理:

fig = plt.figure(figsize=(14,8))
ax = fig.add_subplot(111)
df = pd.DataFrame(np.random.uniform(size=(20,4)))
df.plot(ax=ax, subplots=True, layout=(4,1)) # ax=ax points df.plot to fig
for each in fig.axes: # You can still modify these axes!
    each.legend(loc='center left', bbox_to_anchor=(1, 0.5))

这会将图例外部的图例设置在右侧,就像设置其他图例一样。