ggplot2中实现图片的镶嵌绘图
001、生成测试子图
library(ggplot2) library(dplyr) ## 依次生成测试子图p1、p2、p3、p4 p1 <- ggplot(mpg) + geom_point(aes(x = displ, y = hwy)) + ggtitle("P1") p2 <- ggplot(mpg) + geom_bar(aes(x = as.character(year), fill = drv), position = "dodge") + ggtitle("P2") p3 <- ggplot(mpg) + geom_density(aes(x = hwy, fill = drv), colour = NA) + facet_grid(rows = vars(drv)) + ggtitle("P3") p4 <- ggplot(mpg) + stat_summary(aes(x = drv, y = hwy, fill = drv), geom = "col", fun.data = mean_se) + stat_summary(aes(x = drv, y = hwy), geom = "errorbar", fun.data = mean_se, width = 0.5) + ggtitle("P4")
002、利用patchwork包中insert_element函数实现镶嵌,将图p2镶嵌入p1
library(patchwork) p1 + inset_element(p2, left = 0.3, right = 0.7, bottom = 0.6,
top = 0.95) ## left表示从左侧0.3开始绘制,right0.7表示到0.7结束; 同时从底部0.6开始,顶部0.95结束
绘图效果如下:
003、实现组合图的镶嵌
p24 <- p2 / p4 + plot_layout(guides = "collect") p24 ## 组合图p24 p1 + inset_element(p24, left = 0.5, bottom = 0.05, right = 0.95, top = 0.9) ## 实现组合图的镶嵌
绘图效果如下:
004、对镶嵌图的主题进行整体的修改
p12 <- p1 + inset_element(p2, left = 0.5, bottom = 0.5, right = 0.9, top = 0.95) p12 & theme_bw() ## 对镶嵌后的图的主题进行修改
005、添加标签
p12 <- p1 + inset_element(p2, left = 0.5, bottom = 0.5, right = 0.9, top = 0.95) p12 + plot_annotation(tag_levels = 'A') ## 添加标签
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-03-24 linux系统发行版的分类
2022-03-24 win10 计算机睡眠后键盘、鼠标无法唤醒 微星b460主板bios设置方法
2021-03-24 c语言中函数的定义和调用(计算1到n之间的所有整数的和)
2021-03-24 c语言中函数的定义和调用(值传递,计算x的n次幂)
2021-03-24 c语言中定义函数和调用函数(在函数中调用其他函数,计算int型整数的4次幂)
2021-03-24 c语言中定义函数和调用函数(在函数中调用其他函数,计算四个数中的最大值)
2021-03-24 c语言中定义函数和调用函数(计算int型整数的立方)