为了完全控制,您可以根据ggplot2 提供的各种图形参数创建一个“主题”功能以应用于您的绘图。
下面的函数并不详尽,但它对基本的 ggplot 主题进行了许多细微的更改。所有参数都可以轻松修改。例如,更改字体系列(此处为“Helvetica”)。或者使用plot.title 的vjust 参数上下移动标题。
myTheme <- function() {
theme(panel.border = element_blank(),
panel.grid.minor = element_line(colour ='white'),
panel.grid.major = element_line(colour = 'white'),
panel.background = element_rect(fill = '#ededed', color = '#ededed'),
plot.background = element_rect(fill = 'white', color = 'white'),
plot.margin = unit(c(2.5, 2.5, 2.5, 2.5), 'cm'),
plot.title = element_text(family = 'Helvetica', face ='bold', vjust=4, size=12, colour='#292929'),
axis.title.y = element_text(family = 'Helvetica', size = 12, vjust = 1.5, face='bold', colour='#292929'),
axis.title.x = element_text(family = 'Helvetica', size = 12, vjust = -1.5, face='bold',colour='#292929'),
axis.text.y = element_text(family = 'Helvetica', size = 11, colour = '#292929'),
axis.text.x = element_text(family='Helvetica', size = 11, colour='#292929'),
axis.ticks.y = element_line(colour = 'white'),
axis.ticks.x = element_line(colour = 'white'))
}
我个人更喜欢在情节边缘留出更多空间。为此,您需要:
install.packages('grid')
library(grid)
这个包可以让你调整plot.margin参数。
使用这个功能非常简单。您只需将其添加到 ggplot 代码的末尾即可。如下。
ggplot(mtcars, aes(disp, mpg)) +
geom_point() +
ggtitle('Mtcars Plot') +
myTheme()
正如上面 cmets 中正确提到的,将选项 scale_fill_grey() 或 scale_colour_grey() 添加到您的 ggplot 代码中,可以让您控制灰色阴影。
有了这个主题,你的情节将像下面的那样最小,并且与基本情节保持一致。要更详细地了解如何控制主题的元素,请参见此处:ggplot 2 theme control