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行左右的代码,是不是很赞,大家对这幅图有什么建议或者有什么问题都可以私聊我,也可以找我要源代码。谢谢大家。