来源丨网络
一、问题
如果想把多个图合并放在一个图里,如图,该如何实现
好在R语言 和 Python 都有对应的解决方案, 分别是patchwork包和patchworklib库。
二、R语言
安装
# install.packages("devtools") devtools::install_github("thomasp85/patchwork")
两个图并排在一行,只需要导入patchwork, 然后相加即可
library(ggplot2) library(patchwork) p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp)) p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear)) p1 + p2
两行,第一行三个图,第二行一个图
p3 <- ggplot(mtcars) + geom_smooth(aes(disp, qsec)) p4 <- ggplot(mtcars) + geom_bar(aes(carb)) (p1 | p2 | p3) / p4
三、Python
Patchworklib 是与 matplotlib 相关的绘图(简单 matplotlib 绘图、Seaborn 绘图(轴级和图形级)和plotnine 绘图)的通用编辑器。这个库的灵感来自于 ggplot2 的patchwork。因此,作为原始拼凑,用户可以轻松地仅使用/
和|
对齐 matplotlib 图。
Patchworklib 提供了该问题的解决方案。通过使用 patchworklib,任何类型的seaborn 和plotnine 图都可以作为matplotlib 子图进行处理。安装
pip3 install patchworklib
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")
#省略 ax1、ax2、ax4绘制过程 ax124 = ax1|ax2|ax4 ax124.savefig("../img/ax124.png")
#省略 ax124、ax3、ax5绘制过程 ax12435 = ax124/(ax3|ax5) ax12435.savefig("../img/ax12435.png")
万水千山总是情,点个 👍 行不行。
[**👉 Python练手必备**](http://mp.weixin.qq.com/s?__biz=MzU3Mzk1ODA5OQ==&mid=2247507871&idx=1&sn=4d12f9b7542cd818b18f306eddf83844&chksm=fd3b2d23ca4ca4350d44264278e266fdeae4c89ae87d6af4a4628dec74183df5b42d89fe0b6e&scene=21#wechat_redirect)
[**👉**](http://mp.weixin.qq.com/s?__biz=MzU3Mzk1ODA5OQ==&mid=2247504388&idx=1&sn=0b4f676b049ce027cc1b81138c6164b2&chksm=fd3b20b8ca4ca9aea0a6c6b75467c4940cb8d38d649e88d8ace1cc1744ab2cbf6d34696a0d18&scene=21#wechat_redirect) [**Python毕设实战项目**](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzU3Mzk1ODA5OQ==&action=getalbum&album_id=2366210576835624964#wechat_redirect)
[**👉 Python爬虫实战必备**](http://mp.weixin.qq.com/s?__biz=MzU3Mzk1ODA5OQ==&mid=2247504388&idx=1&sn=0b4f676b049ce027cc1b81138c6164b2&chksm=fd3b20b8ca4ca9aea0a6c6b75467c4940cb8d38d649e88d8ace1cc1744ab2cbf6d34696a0d18&scene=21#wechat_redirect)
[****👉**** **30款Python小游戏附源码**](http://mp.weixin.qq.com/s?__biz=MzU3Mzk1ODA5OQ==&mid=2247507734&idx=1&sn=d2b52f43a92a126647e7df33b1af92fe&chksm=fd3b2daaca4ca4bcfbfd18c187c0cf3f190d4e9c44d999dd302f6e9e95bbc8ac6853f65d349c&scene=21#wechat_redirect)
[****👉**** **Python清理微信单向好友神器**](http://mp.weixin.qq.com/s?__biz=MzU3Mzk1ODA5OQ==&mid=2247510399&idx=1&sn=b75c08743713f3c669fc2a1755537da1&chksm=fd3b5bc3ca4cd2d5a620bf53300d5ca7f2f0f85f10c24d8e9e6dbf047ee20efe907b0ae618b1&scene=21#wechat_redirect)
本文转自 https://mp.weixin.qq.com/s/g7Cb833fbmUhD_tRaDl6TQ,如有侵权,请联系删除。对于从来没有接触过编程的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉Python学习大纲👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
👉Python实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python书籍和视频合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉Python副业创收路线👈
这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取