ggplot中有时候需要做一些分面图,那么对于这些分面的字体、颜色、背景是怎么修改的呢?今天我们来看一下!
软件介绍[软件名称]:R(4.1.2)
[软件名称]:RStudio(1.4.1106)
教程介绍1.加载需要的包,我一般喜欢直接加载tidyverse
library(tidyverse)
2.首先我们使用R语言内置的数据集绘制一个图
ggplot(iris,aes(Sepal.Length,Sepal.Width))
geom_point(aes(size=Petal.Length,color=Petal.Width))
facet_grid(.~Species)
3.然后使用windowsFonts提取系统字体Times New Roman,使用scale_color_gradient修改颜色范围
windowsFonts(A=windowsFont("Times New Roman"))
ggplot(iris,aes(Sepal.Length,Sepal.Width))
geom_point(aes(size=Petal.Length,color=Petal.Width))
facet_grid(.~Species)
scale_color_gradient(low = "blue",high = "red")
theme(text=element_text("A",size=15))
4.使用strip.background可以对分面的背景进行修改,使用strip.text可以对分面的字体的颜色,大小进行修改
windowsFonts(A=windowsFont("Times New Roman"))
ggplot(iris,aes(Sepal.Length,Sepal.Width))
geom_point(aes(size=Petal.Length,color=Petal.Width))
facet_grid(.~Species)
scale_color_gradient(low = "blue",high = "red")
theme(text=element_text("A",size=15))
theme(strip.background = element_rect(fill=c("#FF6A6A")))
theme(strip.text = element_text(size = 15,colour = "blue"))
5.如果要修改分面的名称呢?怎么弄:使用levels函数提取出里面的元素,然后赋值给其新的名称即可,如下所示
levels(iris$Species)[levels(iris$Species)=="setosa"] <- "分面1"
levels(iris$Species)[levels(iris$Species)=="versicolor"] <- "分面2"
levels(iris$Species)[levels(iris$Species)=="virginica"] <- "分面3"
6.代码重新运行,分面名称即可改变
windowsFonts(A=windowsFont("Times New Roman"))
ggplot(iris,aes(Sepal.Length,Sepal.Width))
geom_point(aes(size=Petal.Length,color=Petal.Width))
facet_grid(.~Species)
scale_color_gradient(low = "blue",high = "red")
theme(text=element_text("A",size=15))
theme(strip.background = element_rect(fill=c("#FF6A6A")))
theme(strip.text = element_text(size = 15,colour = "blue"))
7.好了,今天就学习一下这个技巧!
,