如何合并图形并共享同一个图例?

 

001、加载R包

library(tidyverse)
library(ggplot2)
library(viridis)

 

02、生成基本图形

plot1 <- ggplot(data = mpg, aes(x = displ, y = hwy, color = class)) +
  geom_point(size=1.7) + scale_color_viridis(discrete = T) + 
  theme_bw() + theme(panel.grid = element_blank())  
plot1

 

 

plot2 <- ggplot(data = mpg, aes(x = cty, y = hwy, color = class)) +
  geom_point(size=1.7) + scale_color_viridis(discrete = T) +
  theme_bw() + theme(panel.grid = element_blank())
plot2

 

03、测试合并

library(patchwork)
plot1 + plot2

 

04、共享图例方法1

library(ggpubr)
ggarrange(plot1, plot2, common.legend = TRUE, legend="top")

 

05、共享图例方法2

library(cowplot)
combined_plot <- plot_grid(plot1 + theme(legend.position = 'none'), plot2 + theme(legend.position = 'none'), ncol = 2)
plot_grid(combined_plot, get_legend(plot1),rel_widths = c(4, 1))

 

06、共享图例方法3

library(patchwork)
plot1 + plot2 + plot_layout(guides = "collect") &
  theme(legend.position='bottom')

 

来源:

https://mp.weixin.qq.com/s?__biz=MzI1NjUwMjQxMQ==&mid=2247518331&idx=1&sn=2a606472b315af836abd42e021dcbd94&chksm=ea27779fdd50fe896b437eab8638cf00c14b926c2c869d243c5f062ca9a2dc6f0bcad6c39da8&mpshare=1&scene=23&srcid=0814BpZmDbF6mvC223hzCEwF&sharer_sharetime=1692028818190&sharer_shareid=50b75c6a886e09824b582fb782a7678b#rd

 

posted @   小鲨鱼2018  阅读(167)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-08-17 python 中统计 一段序列中ATCG的次数
2022-08-17 python 字符串中常见的内置函数
2022-08-17 python 中根据RNA序列输出密码子编码的氨基酸序列
2022-08-17 python 中os包的常见操作
2022-08-17 linux 中awk命令跳出外层循环
2022-08-17 linux 中sed命令 n和N的区别
2022-08-17 linux 中sed命令 P和p的区别
点击右上角即可分享
微信分享提示