当前位置:   article > 正文

R语言ggplot2中的theme函数_r语言theme函数

r语言theme函数

在这里插入图片描述

大家先来看看这幅图吧,今天想分享的内容就和它相关。本人刚开始用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
  • 2
  • 3
  • 4
  • 5
#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")
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

#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)
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

#3.面板元素设置
p1+ theme(
 panel.background = element_rect(fill = "pink", color = "blue"),
 panel.grid = element_line(color = "grey80", size = 0.5)
)
  • 1
  • 2
  • 3
  • 4
  • 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"
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

R语言的数据可视化功能是非常强大的,现在的我早以抛弃Origin了,当有学生介绍科研绘图软件还为Oringin和sigmaplot时,我很想建议他该从“所见既所得”阶段跨到“所想既所得”阶段了。

好了,今天的分享就到这吧~
PS:大家对森林生态学和R感兴趣的话,请关注我的个人微信公众号哟(森林生态小小圈)~

参考资料:《数据科学中的R语言》——王敏杰

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/65984
推荐阅读
相关标签
  

闽ICP备14008679号