赞
踩
大家先来看看这幅图吧,今天想分享的内容就和它相关。本人刚开始用R画图的时候其实比较抵触,因为觉得R画图时有的小细节改起来很麻烦,不如Oringin来的直接。究其原因还是代码不熟悉,学的不够扎实。今天就来重新梳理一下思路,主要内容是ggplot2中的theme函数。
这个theme函数主要的用途是调节图的主题,主题主要分为整幅图的(plot),坐标轴的(axis),图例的(legend),面板的(panel)和分面元素(facet)。其中经常用到的是坐标轴主题的修改,比如常见的坐标轴字体大小的修改。图里每一部分的英文名字大家请看上面那幅图,最好是记下来。
theme函数其实很简单:
theme(主题.部件=element_类型())
主题:plot, axis, legend, panel, facet
部件:title(名字,坐标轴名字), line(线,坐标轴的xy轴), text(标签,坐标轴刻度的数字), ticks(坐标轴刻度的小线条), background(背景)等
类型:rect,line,text
说明:部件要和类型一致。比如,部件为title,text等文字相关的元素,那么类型处就为text。
接下来实际操作一下吧:
library(tidyverse)
head(mtcars)
p1=ggplot(mtcars,aes(mpg,disp))+geom_point()
p2=ggplot(mtcars,aes(mpg,disp,color=cyl))+geom_point()
#1.整幅图的主题设置
p1+labs(title="xyz")+theme(
plot.background = element_rect(fill = "green", color = "lightgreen", size = 10),
plot.title = element_text(hjust = 1, color = "red", face = "italic"),
plot.margin = margin(t = 30, r = 30, b = 30, l = 30, unit = "pt")
)
#2.坐标轴主题设置
p1+theme(
axis.line = element_line(color = "green", size = 2),
axis.title = element_text(color = "grey", face = "italic"),
axis.ticks = element_line(color = "red", size = 3),
axis.text = element_text(color = "pink"),
axis.text.x = element_text(angle = 45, hjust = 1)
)
#3.面板元素设置
p1+ theme(
panel.background = element_rect(fill = "pink", color = "blue"),
panel.grid = element_line(color = "grey80", size = 0.5)
)
#4.图例设置
p2+theme(
legend.background = element_rect(fill = "grey"),
legend.title = element_text(color = "green", size = 10),
legend.key = element_rect(fill = "black"),
legend.text = element_text(color = "red"),
legend.margin = margin(t = 20, r = 10, b = 10, l = 10, unit = "pt"),
legend.position = "top"
)
R语言的数据可视化功能是非常强大的,现在的我早以抛弃Origin了,当有学生介绍科研绘图软件还为Oringin和sigmaplot时,我很想建议他该从“所见既所得”阶段跨到“所想既所得”阶段了。
好了,今天的分享就到这吧~
PS:大家对森林生态学和R感兴趣的话,请关注我的个人微信公众号哟(森林生态小小圈)~
参考资料:《数据科学中的R语言》——王敏杰
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。