如何使用R语言ggplot2画散点图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
今天要模仿的图片来自于论文 Core gut microbial communities are maintained by beneficial interactions and strain variability in fish。期刊是 Nature microbiology
重复的图片是Figure2中的散点图
数据总共三列,一列x,一列y,还有一列是文字标签,想给哪个点添加文字标签,对应就在这一行写上文字标签的内容,不想添加就是空白
需要示例数据的可以直接留言,觉得本期推文还有帮助的话可以转发支持呀!
数据格式部分截图
这里介绍一个相对方便一点的读入数据方式,数据按照以上格式准备好,然后全选,右击选择复制,接下来打开R语言运行如下命令
df1<-read.table("clipboard",header=T,sep="\t")
这样就把数据读进来存储到df1里了
ggplot(df1,aes(x=Species.Rank,y=Cumultative.relative.abundance))+
geom_point()
ggplot(df1,aes(x=Species.Rank,
y=log10(Cumultative.relative.abundance)))+
geom_point()
scale_y_log10()
函数ggplot(df1,aes(x=Species.Rank,y=Cumultative.relative.abundance))+
geom_point()+
scale_y_log10()
这两种方法大家可以观察一下结果图
可以使用geom_text()
或者geom_label()
函数,geom_label()
函数默认在文字外面有一个边框
p1<-ggplot(df1,aes(x=Species.Rank,y=Cumultative.relative.abundance))+
geom_point()+
scale_y_log10()+
geom_text(aes(label=text_label))
p1
如果用geom_label()
函数的话是如下效果
p2<-ggplot(df1,aes(x=Species.Rank,y=Cumultative.relative.abundance))+
geom_point()+
scale_y_log10()+
geom_label(aes(label=text_label))
p2
这是因为即使没有文字,geom_label()
也会在对应的位置添加文字边框
ggrepel
里的geom_text_repel()
函数,它可以自动调整文字标签和点的位置library(ggrepel)
ggplot(df1,aes(x=Species.Rank,y=Cumultative.relative.abundance))+
geom_point()+
scale_y_log10()+
geom_text_repel(aes(label=text_label))
这样效果好像也不是太好,还是出图后手动调整吧!
ggplot(df1,aes(x=Species.Rank,y=Cumultative.relative.abundance))+
geom_point()+
scale_y_log10(breaks=c(100,10000),
labels=c(100,10000))+
geom_text_repel(aes(label=text_label))+
theme(panel.background = element_blank(),
axis.line = element_line())
关于如何使用R语言ggplot2画散点图问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。