来自Pandas datafram的多个箱线图

2024-09-29 21:33:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用pandas dataframe中的数据绘制一个包含多个box图的panelplot。dataframe的列如下所示:

 data.columns 
 Index([u'SiteId', u'obs1', u'obs2', u'obs3', u'obs4', u'obs5', u'obs6', u'date', u'area']

我想创建一个由9个不同的地块组成的面板(因为有9个不同的地理区域),每个地块每年每个月都有12个箱线图。下面显示了一个示例,其中包含用于创建绘图的代码段:

^{pr2}$

上面的代码只生成一个图(其中boxplots对应于图中的每个月),但是我想创建9个这样的图,每个图对应于一个特定的区域,作为同一个图中的子图。换句话说,我想首先按区域分组,然后按年份的月份分组,然后将结果绘制为箱线图。有什么想法我可以得到想要的情节吗?感谢任何帮助。在

另外,我怎样才能去掉图的顶部和底部的“按[11 1…12 12 12]分组的框线图”和“1,1,1,1,1,1,1,1,1…”?在

我不能发布图像,因为stackoverflow规则不允许我这样做。 谢谢。在


Tags: columns数据box区域dataframepandasdataindex
1条回答
网友
1楼 · 发布于 2024-09-29 21:33:18

这是你想要的吗?在

fig, axs = plt.subplots(len(areas), 1, figsize=(5,45))
for ax,area in zip(axs,areas):
    df2 = df.loc[(df.area==area)]
    df2.boxplot(column=['obs1'], by=df2.index.month, showmeans=True, ax=ax)

相关问题 更多 >

    热门问题