将多个绘图包装在一个图像中

Wrap multiple plots together in a single image

我正在尝试将大量图组合在一起,因为它们密切相关(使用 1 个连续变量和 1 个分类变量显示密度,按星期几细分,其中每一天都是不同的图)。在 R 中,我可以使用 gridExtrafacet_wrap 中的 grid.arrange() 将可视化组合在一起以 return 形式提供给用户,作为 1 个变量和包含所有绘图的图像。它看起来像这样:

如何在 Python 中执行此操作?

是的,这可以使用 matplotlib subplots. See this example

可以使用所需的行数和列数来初始化可视化布局。每个单元格将包含一个不同的子图。

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

既然你提到使用过 ggplot2facet_grid()/facet_wrap(),你应该看看 plotnine。来自 homepage:

(ggplot(mtcars, aes('wt', 'mpg', color='factor(gear)'))
 + geom_point()
 + stat_smooth(method='lm')
 + facet_wrap('~gear'))

我是 R 的长期用户,坦率地说,我发现 python 绘制景观有点乱。我喜欢能够使用 plotnine 来利用过去的 R 经验而不是重新学习方向盘。

现在,需要注意的是,我来到这个答案是为了寻找真正的 grid.arrange(),因为构面并不那么灵活。我想要一侧有 6 个迷你地块,另一侧 canvas 上有一个真正的独立地块。这对我来说不会那样做,但我想无论如何我都会在这里添加一个答案 :)