前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >答读者问~ggplot2画图添加拟合方程的R2并且在右上角添加星号表示显著性;只有分位数和中位数数据画箱线图

答读者问~ggplot2画图添加拟合方程的R2并且在右上角添加星号表示显著性;只有分位数和中位数数据画箱线图

作者头像
用户7010445
发布2020-11-24 15:25:59
1.3K0
发布2020-11-24 15:25:59
举报

我记得之前分享过一篇文章 ggplot2绘图添加文本注释上下标问题,ggplot2画图如果添加文本注释可以用annotate()这个函数。简单的小例子

代码语言:javascript
复制
library(extrafont)
fonts()
ggplot(df,aes(x=A,y=B,color=D))+
  geom_point(aes(shape=D),size=10)+
  theme_bw()+
  theme(legend.position = "none")+
  annotate(geom = "text",x=3,y=8.5,label="小明的数据分析笔记本",
           size=10,family="STKaiti")

image.png

如果要添加上标,annotate()函数label参数的写法

代码语言:javascript
复制
ggplot(df,aes(x=A,y=B,color=D))+
  geom_point(aes(shape=D),size=10)+
  theme_bw()+
  theme(legend.position = "none")+
  annotate(geom = "text",x=3,y=8.5,
           label="atop(小明的数据分析笔记本^'***')",
           parse=T,
           size=10)

image.png

添加拟合方程的R2的写法

代码语言:javascript
复制
ggplot(df,aes(x=A,y=B,color=D))+
  geom_point(size=5)+
  annotate("text",x=3,y=7.5,
           label="atop(R^2==0.9^'***')",
           parse=T,size=10)+
  theme_bw()+
  theme(legend.position="none")

image.png

公众号一位读者留言问 自己的数据是经过计算的的只有分位数和中位数的数据,应该如何画箱线图?我自己能想到的一个办法是利用annotate()函数画线段,将其组合成为一个箱子。

下面举一个简单的小例子

代码语言:javascript
复制
library(ggplot2)
ggplot()+
  annotate(geom = "segment",x=1,xend=1.5,y=1,yend=1)+
  annotate(geom = "segment",x=1,xend=1.5,y=2,yend=2)+
  annotate(geom = "segment",x=1,xend=1,y=1,yend=2)+
  annotate(geom = "segment",x=1.5,xend=1.5,y=1,yend=2)+
  annotate(geom = "segment",x=1,xend=1.5,y=1.5,yend=1.5)+
  xlim(0,5)+
  ylim(0,5)

image.png

当然问题又来了,如果是这样作图应该如何填充颜色呢?

应该还有其他办法可以实现,问题先留在这里,想到解决办法再来补充

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档