小师妹带你认识R数据可视化之ggplot主题
点击蓝字,关注我们
小师妹继续带大家学习R数据可视化,今天小师妹要向小伙伴们介绍的是主题的一些相关内容。在介绍之前小师妹还是先强烈推荐一下自己的工具平台(http://www.biocloudservice.com/home.html),那么接下来就让小师妹带领大家一起来看看关于ggplot主题的内容吧。
ggplot是一个用于数据可视化的R语言包,它基于图形语法理论,提供了一种简洁、一致的方式来创建各种类型的图表。ggplot的主题是指图表的整体样式和外观。ggplot提供了一系列内置的主题,可以轻松地应用于创建的图表上。
下面是一些常用的ggplot主题:
1.theme_gray():默认主题,使用灰色背景和白色网格线。
2.theme_bw():黑白主题,使用白色背景和黑色网格线。
3.theme_minimal():简约主题,没有网格线和背景色。
4.theme_classic():经典主题,带有灰色背景和白色网格线。
5.theme_void():空白主题,没有背景和网格线,只有数据图形。
除了内置的主题,ggplot还提供了许多可以自定义的主题选项,可以调整图表的各个方面,如背景颜色、文本样式、网格线样式等。可以使用theme()函数来设置这些选项,通过使用内置的主题或自定义主题选项,可以轻松地调整ggplot图表的整体样式和外观,以满足特定的可视化需求。
小师妹上面列举的这些常用主题,默认都包含 4 个参数:
1.base_size:轴标题字体大小,以 pts 为单位。图形标题比它大 20%,刻度标签比它小 20%
2.base_family:字体
3.base_line_size:线条元素的大小
4.base_rect_size:矩形元素的大小
又到了小师妹一天一度的举例环节啦:
我们先来绘制一个图形。
> mtcars2 <- within(mtcars, {
+ vs <- factor(vs, labels = c("V-shaped", "Straight"))
+ am <- factor(am, labels = c("Automatic", "Manual"))
+ cyl <- factor(cyl)
+ gear <- factor(gear)
+ })
> p1 <- ggplot(mtcars2) +
+ geom_point(aes(x = wt, y = mpg, colour = gear)) +
+ labs(title = "Xiao Guo Sheng Xin",
+ subtitle = "(202307)",
+ caption = "R yu yan xue tu",
+ tag = "Figure 1",
+ x = "Weight",
+ y = "Fuel economy",
+ colour = "Gears")
> p1
接下来我们来更改不同的主题。
> p1 + theme_gray()
如上图是默认的主题,浅灰色背景,白色网格线。
> p1 + theme_bw()
上图这个主题是白色背景,深灰色网格线。下面小师妹一起绘制一些其他主题的图片。
> p3 <- p1 + theme_linedraw()
> p4 <- p1 + theme_dark()
> p5 <- p1 + theme_light()
> p6 <- p1 + theme_classic()
> p7 <- p1 + theme_void()
> p8 <- p1 + theme_minimal()
> plot_grid(p3, p4, p5, p6, p7, p8, labels = LETTERS[1:6], nrow = 3)
修改全局主题之后,该主题会应用于之后绘制的所有图形中,全局主题设置在ggplot中主要包含以下几个函数:
1.theme_set():用于设置全局主题。可以通过传入一个主题对象(如theme_gray())或自定义的主题对象来设置全局主题。设置全局主题后,在后续的所有图表中都会应用该主题。
2.theme_update():用于更新全局主题。可以通过传入一个主题对象来更新全局主题的部分或全部参数。更新全局主题后,所有已绘制的图表都会自动应用更新后的主题。
3.theme_get():用于获取当前的全局主题。返回当前全局主题的对象,可以进行进一步的修改和定制。
这些函数可以用于全局地设置和修改主题,以便在整个R会话中一致地应用于所有的ggplot图表,通过使用全局主题设置函数,可以轻松地在整个R会话中统一和管理图表的主题,提高可视化的一致性和效率。
小师妹要开始举例啦:
我们还是先请出我们的老朋友吧。
> p <- ggplot(mtcars, aes(mpg, wt)) +
+ geom_point()
> p
我们试着返回之前的主题。
> before <- theme_set(theme_bw())
> p
theme_update()函数用于更新全局主题的参数。可以通过传入一个主题对象来更新全局主题的部分或全部参数,只会修改设置的元素,未显式设置的元素不会修改。
> theme_update(panel.grid.minor = element_line(colour = "purple"))
> p
而theme_replace 函数来修改某一元素的值时,未显式设置的元素值都会赋值为 NULL。
> theme_replace(panel.grid.minor = element_line(colour = "purple"))
> p
返回默认主题。
> theme_set(before)
> p
好啦,今天小师妹的分享就到这里啦,不知道小伙伴们收获了多少知识呢,小师妹在后面的文章中还会继续更新R数据可视化的知识,小伙伴们记得随时关注小师妹哦,最后提醒小伙伴们一定记得要关注小师妹的工具平台呀
(http://www.biocloudservice.com/home.html),小伙伴们再会啦。
★