打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
复现Nature genetic图表:ggplot绘制点线图
userphoto

2023.02.06 重庆

关注

1、《KS科研分享与服务》公众号有QQ交流群,但是进入门槛是20元,请考虑清楚。群里有推文的注释代码和示例数据,付费内容半价,还可以与大家交流。

2、单细胞转录组全流程代码需收费,收费代码包含公众号付费内容,也有很多新增加的内容。需进群或者需单细胞代码的小伙伴请添加作者微信了解,请备注目的,除此之外请勿添加,谢谢!

3、付费文章集合有打包价哦!

详情请联系作者:

近期在看一篇Nature genetics关于自闭症的研究文章的时候,看到了这样的可视化图表,是一种点线图。

文章提供了数据,一开始我想到的绘制方法是画出线图,线的上下就是数据最大值和最小值,最后加上平均值的点图就完成了。之前我们做误差线的时候使用过误差线绘制的函数,就可以解决线的绘制。

setwd("D:/KS项目/公众号文章/ggplot点线图")df <- read.csv("点线图.csv", header = T)#做这个图其实需要三个要素就足够了,一个是点的平均值#另外就是线的最大值和最小值
#分别计算下df$mean <- rowMeans(df[,3:6])df$Max <- apply(df[,3:6], 1, function(x){max(x)})df$Min <- apply(df[,3:6], 1, function(x){min(x)})

library(ggplot2)library(forcats)df$Phenotype <- as.factor(df$Phenotype)df$Phenotype <- fct_inorder(df$Phenotype)
#设置下坐标轴文字颜色col <- c(rep("black",13),rep("red",6))

作图即可。

ggplot(data=df,aes(x=Phenotype,y=mean))+  geom_errorbar(aes(ymin=Min,ymax=Max),width=0, color='#00798C')+  geom_point(size=5, color='#00798C')+  theme_classic()+  theme(axis.text.x = element_text(colour = 'black',size = 10,angle=45,vjust = 1,hjust = 1, color = col),        axis.text.y = element_text(colour = 'black',size = 10),        axis.title.x = element_blank(),        axis.title.y = element_text(colour = 'black',size = 12))+  ylab("SRC")+  geom_hline(yintercept =0,linetype=1,size=0.5)

绘制完成,效果可以,后来百度发现,还有很多种做法,这里提供两种。

#method2ggplot(data=df,aes(x=Phenotype,y=mean))+  geom_pointrange(aes(ymin=Min,ymax=Max),size=1)

ggplot(data=df,aes(x=Phenotype,y=mean))+  geom_linerange(aes(ymin=Min,ymax=Max),size=1)+  geom_point(size=5)

效果是一样的。觉得分享有用的点个赞、分享下再走呗!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ggplot2入门和进阶(下) | 塞迩斯
技术贴 | R语言:ggplot绘图的Y轴截断和拼接
文献配套GitHub发表级别绘图04-相关性散点图
ggalluvial:冲击图展示组间变化、时间序列和复杂多属性alluvial diagram
R_ggplot2基础(四)
R语言ggplot2 | 循环画图及导出
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服