复现Nature genetic图表:ggplot绘制点线图

文章介绍了如何利用R语言的ggplot2包来绘制一种点线图,展示自闭症研究中的数据。通过读取CSV数据,计算平均值、最大值和最小值,然后使用geom_errorbar、geom_pointrange或geom_linerange函数创建图表,展示数据范围和平均值。
摘要由CSDN通过智能技术生成

近期在看一篇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)

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值