使用R语言ggplot2包绘制SCI论文配图密度散点图

2022-08-26 13:57:11 浏览数 (1)

R适用于统计分析,绘图的一款编程软件,R属于开源,自由,免费的软件。随着生物信息学的发展,R语言在数据分析和绘制图形上都有着十分重要的优势。尤其是现在大部分科研绘图,都使用R语言来完成的。最近有一位小伙伴要发SCI论文,给我发了3w多条数据,问我可不可以画和下图基本相似的图。大家都知道论文的发表除了实验和数据以外,图片也非常重要。一般图画的越好,那么论文发表的问题也不大。我仔细想了一下自身的实力,觉得可以试一下。那么下面我就用所学R知识不多的情况下教大家绘制这幅SCI配图。

本次绘图工具:RStudio。

RStudio是R的集成开发环境,界面更加丰富实用,使用起来更加方便。

本次绘图所使用的R包:ggplot2和ggpointdensity

ggplot2是R语言绘制图形一个十分重要也是非常基础的一个包,使用ggplot2再加上R自带的base画图基本可以完成所有图形的绘制。ggpointdensity是这次绘制密度散点图的包。

知乎的这篇文章:https://zhuanlan.zhihu.com/p/109468400,详细介绍了R和Rstudio的安装,大家可以参考一下。

接下来打开RStudio来完成这幅图的绘制。

1.获取和设置工作路径

使用setwd()和getwd()来获取和设置自己的工作路径。

2.安装包和导包

安装包install.packages("ggpointdensity")和install.packages("ggplot")

导包library(ggplot2)和library(ggpointdensity)

3.导入数据

data = read.csv("1_zd_aodPM25.csv")

4.使用ggplot2开始画图

p2 = ggplot(data, aes(x=aod, y=pm25))

geom_pointdensity(adjust=0.1,show.legend = TRUE)

得到基本图像:

5.接下来我们来美化图像

5.1.我们发现x和y轴不重叠,我们使用这行代码来解决

scale_y_continuous(expand = c(0,0)) #刻画x轴

scale_x_continuous(expand = c(0,0)) #刻画y轴

5.2我们为图像配色

scale_colour_gradientn(colours=c("darkblue","blue","#0092FF","#00FF92","#49FF00","#FFDB00","#FF0000","red","darkred"))

得到下面的图像:

5.3为图像加上线性回归和对角线

geom_smooth(method = "lm",formula = y~x,color="black")

geom_abline(slope = 200,intercept = 0,color="red")

得到图像:

5.4最后我们为这个图加上坐标轴名称和标题名称

p2 xlab("aod") theme(axis.title.x = element_text(size = 15, color = "green",face="bold",vjust=0.5,hjust=0.5),plot.title= element_text(hjust=0.5)) ylab("pm25") theme(axis.title.y= element_text(size = 15, color = "green", face = "bold", vjust = 0.5, hjust = 0.5))

至此就基本完成了这幅图的绘制,总共使用了30行左右的代码,是不是很赞,大家对这幅图有什么建议或者有什么问题都可以私聊我,也可以找我要源代码。谢谢大家。

0 人点赞