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
Cowplot v1.0.0似乎工作正常。往上看。当我尝试向上面的图添加较小的网格线时,事情就破裂了:
p1 + theme(panel.grid.minor.y = element_line())
为什么将网格线绘制为纯黑色而不是柔和的灰色?我知道我可能会指定
color = "lightgrey"
,但是我不确定lightgrey是否是适合其他所有颜色的灰色,并且希望使用默认值。我错过了什么? 最佳答案
other answer是正确的。但是,请注意Cowplot提供了专门的background_grid()
函数来简化此过程。您可以简单地通过major
和minor
参数指定所需的主要和次要行。但是,默认的次要行比主要行要细,因此您还必须设置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/