首页 > 其他分享 >ggplot2中实现图片的镶嵌绘图

ggplot2中实现图片的镶嵌绘图

时间:2023-03-24 16:23:08浏览次数:32  
标签:p2 p1 镶嵌 library 绘图 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')      ## 添加标签

 

 。

 

标签:p2,p1,镶嵌,library,绘图,ggplot2
From: https://www.cnblogs.com/liujiaxin2018/p/17252391.html

相关文章

  • ggplot2中实现多个绘图在一张画布中组合
     001、生成几个测试数据library(ggplot2)library(dplyr)p1<-ggplot(mpg)+geom_point(aes(x=displ,y=hwy))+ggtitle("P1")##测试图p1p2<-ggpl......
  • ggplot2中修改图例的位置
     001、默认绘图bp<-ggplot(PlantGrowth,aes(x=group,y=weight,fill=group))+geom_boxplot()##绘图bp##输出图片  002、上......
  • ggplot2绘图中修改图例的标题
     001、正常绘图library(ggplot2)bp<-ggplot(data=PlantGrowth,aes(x=group,y=weight,fill=group))+geom_boxplot()bp##显示绘图结果  002、修......
  • ggplot2绘图中隐藏图例标题
     001、正常绘图,显示图例library(ggplot2)bp<-ggplot(data=PlantGrowth,aes(x=group,y=weight,fill=group))+geom_boxplot()##绘图bp##显示绘图绘图......
  • ggplot2中绘图修改图例的顺序
     001、直接绘图效果:library(ggplot2)bp<-ggplot(data=PlantGrowth,aes(x=group,y=weight,fill=group))+geom_boxplot()##绘图bp##显示绘图结果绘......
  • ggplot2绘图中移除图例
     001、a、利用测试数据绘制箱线图library(ggplot2)bp<-ggplot(data=PlantGrowth,aes(x=group,y=weight,fill=group))+geom_boxplot()##绘图bp##显......
  • ggplot2中设置标签刻度的粗细和长度
     001、使用绘制散点图进行测试。a、直接绘制散点图x<-1:10y<-seq(1,1000,100)dat<-data.frame(x,y)##生成测试数据ggplot(dat,aes......
  • ggplot2中去除默认背景
     001、theme_classic()主题用来去除背景a、使用默认的背景type<-c('A','B','C','D','E','F','G')nums<-c(10,23,8,33,12,40,60)df<-data.frame(type=......
  • R语言绘图中保持绘图的顺序不发生改变
     001、生成测试数据以及测试library(ggplot2)x<-paste0("s",1:16)y<-4:19dat<-data.frame(x,y)##生成测试数据框dim(dat)head(dat,3)ggplot(d......
  • R语言中ggplot2绘制柱状图
     001、基础绘图type<-c('A','B','C','D','E','F','G')nums<-c(10,23,8,33,12,40,60)df<-data.frame(type=type,nums=nums)##生成的......