欢迎关注R语言数据分析指南
❝最近有观众老爷询问如何自定义给散点图添加拟合曲线并添加R值,P值;对于这个问题ggpmisc包可以很方便的解决其问题,但是由于对方需要一些特殊的定义如将P值转换为星号,「基于此小编写了一个图层函数来解决这个问题」,并且还可以自定义每一条拟合曲线的注释信息位置。下面来具体看看「图层脚本代码已经上传2023VIP群,加群的观众老爷请自行下载」
❞
❝有需要学习个性化数据可视化的朋友,欢迎到小编的「淘宝店铺」 「R语言数据分析指南」购买「2023年度会员」
❞初始价格99元,内容主要包括各种「高分论文的图表分析复现以及一些个性化图表的绘制」均包含数据+代码;按照往年数据小编年产出约在150+以上
购买后微信发小编订单截图即邀请进新的会员交流群,小编的文档为按年售卖,只包含当年度的「除系列课程外」的文档,有需要往年文档的朋友也可下单购买,需要了解更多信息的朋友欢迎交流咨询,「添加小编微信请备注,以提高沟通效率」
加载R包
library(tidyverse)
library(gapminder)
library(ggsci)
library(ggpmisc)
library(patchwork)
示例数据
data <- gapminder %>% filter(!continent %in% c("Oceania","Americas"),year ==1987)
散点图+拟合曲线
p1 <- data %>% ggplot(aes(gdpPercap,lifeExp,color=continent))+
geom_point(size=2.5,aes(color=continent))+
geom_smooth(aes(color=continent),method = 'lm', se = TRUE, show.legend=FALSE)+
facet_wrap(.~year,scales="free_x",nrow=2,ncol=3)+
scale_color_npg()+
stat_poly_eq(method = 'lm',
aes(label=paste(after_stat(rr.label),
after_stat(p.value.label),sep = "*\", \"*")),
size=3)+
labs(x=NULL,y=NULL)+
theme_bw()+
theme(axis.text=element_text(colour='black',size=9),
legend.position ="non")
❝可以看到使用「stat_poly_eq」很轻松的添加上了R值,P值;但是我们的需求是将P值转换为星号,并且有时绘图时注释信息的位置不合适,若能自由定义每一个注释信息那应该更加方便,下面来介绍解决方案。
❞
定义位置信息
label_positions <- data.frame(
group = c("Africa", "Asia", "Europe"),
x = c(0, 20000, 20000),
y = c(80, 53, 56)
)
# 定义颜色
label_colors <- c("Africa" = "#E64B35", "Asia" = "#4DBBD5", "Europe" = "#00A087")
加载图层函数
source("geom_fit.R")
自定义添加拟合曲线
p2 <- ggplot(data,aes(x = gdpPercap, y = lifeExp, colour = continent)) +
geom_point()+
facet_wrap(.~year,scales="free_x",nrow=2,ncol=3)+
scale_color_manual(values =c("#E64B35", "#4DBBD5", "#00A087", "#3C5488"))+
geom_fit(data,"gdpPercap", "lifeExp", "continent",
label_positions,label_colors,label_size = 3.5,
digits = 3, se = T,r_square=T)+
labs(x=NULL,y=NULL)+
theme_bw()+
theme(axis.text = element_text(color="black"),
legend.text = element_text(color="black"),
legend.key = element_blank(),
legend.spacing.x = unit(0,"cm"))
❝r_square=T 表示添加R2值,se=T 表示展示置信区间
digits=3 保留三位小数;其余分别为定义文本大小,颜色,位置信息等。 ❞
拼图
p1+p2
❝本节介绍到此结束,喜欢的观众老爷欢迎分享转发。有学习需求者欢迎到小编「淘宝店铺 R语言数据分析指南」 购买小编2023年的VIP文档,已有不少朋友学以至用用到了论文当中,「加小编微信请备注信息及来意,无需要请勿扰」
❞
小编微信

关注下方公众号下回更新不迷路
往期精彩内容
[会员专享] ggplot2绘制局部放大柱状图
nature microbiology图表复现之简洁版热图
[会员专享] ggplot2绘制个性化注释哑铃图
[会员专享] nature communications图表复现之个性化地图绘制
[会员专享]ggplot2高度自定义绘制游泳图
[会员专享] R优雅绘制组合版circos图
[会员专享] nature biotechnology图表复现高端个性化组合图
[会员专享] ggplot2优雅绘制分布棒棒糖图
[会员专享] circlize绘制复杂基因组图
[会员专享] imeta图表复现之相关性组合热图
[会员专享] NC图表复现之cirzlize绘制基因组图
[会员专享] NC图表复现之华夫热图
[会员专享] 再谈ggplot2绘制森林图

