You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用patchworklib批量展示绘图列表(类R的grid.arrange)

可以实现,具体方案如下

patchworklib完全支持将批量生成的绘图存入列表后统一布局展示,核心是用Brick对象封装每个子图,再通过wrap_plots函数批量组合,效果和R的grid.arrange一致。

示例代码

import patchworklib as pw
import numpy as np
import matplotlib.pyplot as plt

# 生成示例numpy矩阵(10行5列的随机数据)
data = np.random.randn(10, 5)
plot_list = []

# 遍历矩阵列生成子图,存入列表
for col in range(data.shape[1]):
    # 创建patchworklib的Brick容器(替代普通matplotlib figure)
    sub_fig = pw.Brick(figsize=(3, 2))
    ax = sub_fig.add_subplot(111)
    ax.plot(data[:, col])
    ax.set_title(f"数据系列 {col+1}")
    plot_list.append(sub_fig)

# 批量组合所有子图,指定2列3行布局
combined_plot = pw.wrap_plots(plot_list, ncol=2, nrow=3)
# 展示或保存
combined_plot.show()
# combined_plot.savefig("批量绘图结果.png")

关键说明

  • 必须用pw.Brick()创建每个子图的容器,不能直接用普通的plt.figure(),否则无法被patchworklib识别组合
  • wrap_plots函数支持传入绘图列表,通过ncol/nrow控制布局,还可以用sharex/sharey参数统一坐标轴
  • 如果需要更灵活的布局(比如不同子图占比不同),也可以用+操作符从列表中逐个拼接,再用layout()方法指定行列

内容的提问来源于stack exchange,提问作者therickster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:16:06