使用ggplot画出心理学需要的图片 热点在线

2023-05-15 19:09:22 来源:哔哩哔哩

谨以此文记录一下自己作图的经历,以便以后复习,以及与大家分享。欢迎来讨论!(整体的代码放在最后面)

首先,通过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()函数保存图片就可以啦!

附上最后代码的样子:

欢迎大家批评指正!

关键词:

为你推荐

推荐内容