首页 > 其他分享 >如何合并图形并共享同一个图例?

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

时间:2023-08-17 23:57:34浏览次数:31  
标签:library legend 图例 plot2 共享 plot1 图形

 

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

 

标签:library,legend,图例,plot2,共享,plot1,图形
From: https://www.cnblogs.com/liujiaxin2018/p/17639220.html

相关文章

  • 计算机视觉(Computer Vision),计算机图形学(Computer Graphics)和数字图像(Image Proce
    计算机视觉(ComputerVision),计算机图形学(ComputerGraphics)和数字图像(ImageProcessing)从学科分类:ComputerScience/ArtificialIntelligence/ComputerVisionComputerScience/ComputerGraphicsandVisualizationElectricalEngineering/SignalProcessing/Digit......
  • 桌面虚拟化对于图形设计师和高性能工作站来说有什么优势
    随着科技的迅猛发展,桌面虚拟化成为越来越多企业和个人用户寻求高效办公解决方案的首选之一。尤其对于图形设计师和需要高性能工作站的专业人士来说,桌面虚拟化无疑是一个理想的解决方案。首先,让我们先了解一下桌面虚拟化的概念。桌面虚拟化是一种技术,可以将个人电脑的操作系统、......
  • Android P 图形显示系统(一)硬件合成HWC2
    一、简介1.我们来看看SurfaceFlinger的类定义://frameworks/native/services/surfaceflinger/SurfaceFlinger.hclassSurfaceFlinger:publicBnSurfaceComposer,publicPriorityDumper,privateIBinder::DeathRecipient,......
  • Docker数据持久化与数据共享
    上篇文章的最后我们使用Docker部署了一个纯前端项目,但还有一个很重要的问题就是容器中产生的数据(比如log文件),容器一旦被删除,容器内的所有数据也就没有了,为了避免这个问题我们可以将数据存储到容器之外(比如宿主机),这样即使删除容器也不会丢失数据。一旦容器故障,我们可以重新创建一个......
  • 基于springboot小区共享车位平台的设计与实现
    随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,小区共享车位平台就是信息时代变革中的产物之一。任何系统都要遵循系统设计的基本流程,本系......
  • 视频融合共享平台在“情指勤舆”一体化工作中的应用
    一、方案背景新时代背景下的公安情报指挥体系建设,需立足情报指挥中心,以“情报全面精准、指挥集成统一、勤务协同高效、舆情管控有力”为目标,以情指勤舆一体化指挥调度平台建设为抓手,把情报指挥中心打造成社会治安防控体系的网络核心,健全完善运行模式,理顺规范工作流程,做实做强平台支......
  • CUDA之矩阵转置(全局内存、共享内存)
    使用全局内存完整代码链接A合并访问、B非合并访问#ifdefUSE_DPtypedefdoublereal;#elsetypedeffloatreal;#endif__global__voidtranspose1(constreal*A,real*B,constintN){constintnx=blockIdx.x*blockDim.x+threadIdx.x;const......
  • Hexo图形化界面和文章管理——Hexon
    介绍你在使用hexo写文章的时候是不是还在hexonewhexoghexod这样写文章不仅效率慢而且管理起来也不方便,所以今天我就带来了这个项目——hexonhexon是一个带有git的hexo图形化界面,可以运行命令和管理内容这是它的github链接https://github/gethexon/hexon部署如果你......
  • MemoryFile 共享内存原理分析
    Android上层提供了一些内存共享工具类,比如MemoryFile。你使用过吗?知道它的实现原理吗?MemoryFile是Java层对Ashmem的一个封装,下面来一起学习MemoryFile,掌握它的使用姿势和底层原理。MemoryFile使用方法大致如下:「进程A中申请一块共享内存写入数据,并准备好文件描述符:」Mem......
  • 线性泛基因组和图形泛基因组
     001、线性泛基因组仅仅包含序列信息。迭代组装、map-to-pan、个体denovo组装的泛基因组均是线性泛基因组。 002、图形泛基因组图结构泛基因组是一个二维序列图谱,它以参考基因组为框架,以单个碱基作为图的节点,碱基间的前后关系作为图的边,存在序列差异的地方会自然形成不同......