library(tidyverse)
library(cowplot)
p1 <- ggplot(mtcars, aes(factor(cyl))) +
  geom_bar(fill = "#56B4E9", alpha = 0.8) +
  scale_y_continuous(expand = expansion(mult = c(0, 0.05))) +
  theme_minimal_hgrid()
p1

r - 如何使Cowplot次要网格线成为标准ggplot默认柔和灰色而不是纯黑色-LMLPHP

Cowplot v1.0.0似乎工作正常。往上看。当我尝试向上面的图添加较小的网格线时,事情就破裂了:
p1 + theme(panel.grid.minor.y = element_line())

r - 如何使Cowplot次要网格线成为标准ggplot默认柔和灰色而不是纯黑色-LMLPHP

为什么将网格线绘制为纯黑色而不是柔和的灰色?我知道我可能会指定color = "lightgrey",但是我不确定lightgrey是否是适合其他所有颜色的灰色,并且希望使用默认值。我错过了什么?

最佳答案

other answer是正确的。但是,请注意Cowplot提供了专门的background_grid()函数来简化此过程。您可以简单地通过majorminor参数指定所需的主要和次要行。但是,默认的次要行比主要行要细,因此您还必须设置size.minor = 0.5来使它们看起来相同。

library(ggplot2)
library(cowplot)
#>
#> ********************************************************
#> Note: As of version 1.0.0, cowplot does not change the
#>   default ggplot2 theme anymore. To recover the previous
#>   behavior, execute:
#>   theme_set(theme_cowplot())
#> ********************************************************
ggplot(mtcars, aes(factor(cyl))) +
  geom_bar(fill = "#56B4E9", alpha = 0.8) +
  scale_y_continuous(expand = expansion(mult = c(0, 0.05))) +
  theme_minimal_hgrid() +
  background_grid(major = "y", minor = "y", size.minor = 0.5)

reprex package(v0.3.0)创建于2019-08-15

关于r - 如何使Cowplot次要网格线成为标准ggplot默认柔和灰色而不是纯黑色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57499543/

10-13 07:54