首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >比Matplotlib合并子图更方便!patchworklib让我告别PS拼图...

比Matplotlib合并子图更方便!patchworklib让我告别PS拼图...

作者头像
DataCharm
发布2023-12-05 16:35:32
发布2023-12-05 16:35:32
6090
举报

前言

今天是我的可视化课程上线的第239天,目前学员420人,每篇原创公众号都会记录这个人数,用来督促和激励我的原创内容。目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。课程免费新增,这点绝对良心!

今天是我的可视化学习社群上线的第20天,目前学员124人,可视化学习社区以我的书籍《科研论文配图绘制指南-基于Python》为基础进行拓展,提供课堂式教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面(双十二进群就送作者签名版纸质书籍)~~

参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。

一键合并多子图?!patchworklib是真好用

有圈友向我提问,详细问题如下:

圈友提问

Python在可视化绘图这块虽然没有像R语言那样具有丰富的拓展工具包,但只要掌握核心的几个绘图工具包就可以完成99%的绘图任务啦!

既然有圈友提问,这边小编就给大家推荐一个非常好用Python语言中的的子图合并工具-「Patchworklib」,详细介绍如下:

  • Patchworklib简介

Patchworklib 是matplotlib 相关绘图(简单 matplotlib 绘图、Seaborn 绘图(轴级和图级)以及 plotnine 绘图)的通用合成器。该工具包的灵感来自 ggplot2 的 patchwork。因此,用户只需使用 / 和 | 操作符即可轻松对齐 图形对象。Patchworklib比matplotib默认子图拼接方式subplot_mosaic 更直接、更灵活。

「PS」:Seaborn、Plotnine绘图对象都是可以直接拼接的。同时也支持最新版的Seaborn哦~

  • Patchworklib绘图案例
代码语言:javascript
复制
import patchworklib as pw
import seaborn as sns 

fmri = sns.load_dataset("fmri")
ax1 = pw.Brick(figsize=(3,2))
sns.lineplot(x="timepoint", y="signal", hue="region", style="event", data=fmri, ax=ax1)
ax1.legend(bbox_to_anchor=(1.05, 1.0), loc='upper left')
ax1.set_title("ax1")
 
titanic = sns.load_dataset("titanic")
ax2 = pw.Brick(figsize=(1,2))
sns.barplot(x="sex", y="survived", hue="class", data=titanic, ax=ax2)
ax2.move_legend(new_loc='upper left', bbox_to_anchor=(1.05, 1.0))
ax2.set_title("ax2")

ax12 = ax1|ax2
ax12.savefig("ax12.png")

Patchworklib绘图样例01

ax1|ax2|ax4 操作结果

ax124/(ax3|ax5) 操作结果

(ax3/(ax2|ax1))|(ax5/ax4)操作结果

ax3/(ax2|ax1)操作结果

ax3214["ax3"]|ax5

更多关于Patchworklib包中的 | 和 / 语法操作,读者可参考:Patchworklib官网[1]

「PS」:更多关于Patchworklib包具体案例和其他实际使用场景,会陆续更新在我们的学习圈子中,感兴趣的读者可以和我们一起学习进步呀~~

参考资料

[1]

Patchworklib官网: https://github.com/ponnhide/patchworklib。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一键合并多子图?!patchworklib是真好用
    • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档