如何调整 ggplot 图表中网格线的可见性

问题描述 投票:0回答:1

下面的代码创建一个散点图并使用 theme_bw 并在背景中有网格线 -

data = mtcars

data %>% 
  select(mpg, disp) %>% 
  ggplot(aes(disp, mpg))+
  geom_point(size = 3)+
  theme_bw()

我还想在图表上添加一些垂直和水平线。然而,从目前的网格线来看,它看起来有点繁忙。有没有办法进一步降低网格线的可见性。我不想完全删除它们。

r ggplot2
1个回答
8
投票

这可以通过切换到较浅的颜色或降低网格线颜色的不透明度来实现,这两者都可以通过主题选项

panel.grid
来实现。下面我展示第二种方法。不幸的是
element_line
没有
alpha
参数来设置不透明度,但我们可以使用
scales::alpha()
来达到此目的:

library(ggplot2)
library(dplyr, warn = FALSE)

data <- mtcars

col_grid <- scales::alpha("grey92", .6)

data %>%
  select(mpg, disp) %>%
  ggplot(aes(disp, mpg)) +
  geom_point(size = 3) +
  theme_bw() +
  theme(panel.grid = element_line(color = col_grid))

© www.soinside.com 2019 - 2024. All rights reserved.