谨以此文记录一下自己作图的经历,以便以后复习,以及与大家分享。欢迎来讨论!(整体的代码放在最后面)
首先,通过setwd()函数确定工作路径,这个路径就是你的数据所在的文件夹。额外插一句,保存数据最好使用csv格式而不是xlsx格式,因为R语言可以直接读取csv,但需要额外使用包来读取xlsx的数据(比如包readxl)。
(相关资料图)
之后,通过library函数调用需要使用的包
因为心理学中对英文要求需要采用Times New Roman字体,所以在这里使用windowsFonts函数选中所需要的字体。
setwd("D:/")#设置文件路径,即数据文件夹的目录
library(ggplot2)
windowsFonts(A = windowsFont("Times New Roman"))#选择使用的字体
一切准备好以后,正式进入绘图阶段。
首先读取数据,并赋予名称
Data <- read.csv("Pathway17.csv")#输入你的数据文件的名字
紧接着,开始作图,根据需要的图的种类选用不同的函数,散点图就使用geom_point(),拟合直线的图就使用geom_smooth()
p <- ggplot(data=Data,aes(C1C2,JSE,colour=factor(group)))
p + geom_smooth(method = "lm", formula = y~x, se = F)#se为T表示会标出置信区间
得到的图片如下:
但是可以看到,有许多地方不符合要求,比如横纵轴的标题,分类图例的标签等等,接下来就是进一步的对这些进行修改。首先,使用labs()函数修改横纵坐标的标题:
p + labs(x="INS in the right DLPFC",y="JSE")
接着修改分类图例的标签,颜色等,使用scale_colour_manual()函数:
p + scale_color_manual(values = c("red","blue"),
name = "Interpersonal\nDistance",
breaks = c("1","2"),
labels = c("Friend","Stranger"))
得到的图形如下:
接着对图的主题进行修改,一般心理学的图是不需要网格的,只需要横纵坐标轴就行。通过theme()函数进行图片修改。
p + theme(panel.background = element_blank())#使背景变成空白
接下来调整图例:
p + theme(legend.position = c(.80,.80),
legend.key = element_rect(fill = "white"),
legend.text = element_text(size = 15),
legend.title = element_text(size = 15))#调整图例的位置,调整图例的背景色,调整图例中字体的大小
对横纵轴的调整:
p + theme(axis.line = element_line(),
axis.text = element_text(size = 5),
axis.title.x = element_text(size = 20),
axis.title.y = element_text(size = 30))
因为之前背景已经变空白了,所以这里加上axis.line添加横纵轴
最后,运用之前说的字体
p + theme(text = element_text(family = "A"))
注意!上面使用同一theme()函数的可以放在一块写,但是为了方便理解,我把他们拆分了
最后得到的图为:
最后使用ggsave()函数保存图片就可以啦!
附上最后代码的样子:
欢迎大家批评指正!
