如何更改 R 华夫饼图中“瓷砖灌浆”的颜色以匹配背景

bri*_*akh 4 r ggplot2 waffle-chart

我正在尝试制作一个华夫饼图来使用黑暗模式。这涉及更改背景颜色和瓷砖灌浆的颜色。我不知道如何做瓷砖灌浆。

我无法执行任何正常操作来更改颜色:

counts <- c(a = 701, b = 1094, c = 1756)
waffle(counts, 
   rows=50,
   size=0.75,
   legend_pos="bottom") + theme(legend.key.size=unit(3, "mm"),
                                rect=element_rect(fill='black',
                                                  color='black'),
                                plot.background=element_rect(fill='black'),
                                strip.background = element_rect(colour=NA, fill=NA),
                                panel.background=element_rect(fill='black', color='black'))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有一个拉取请求可以执行此操作,但发出请求的人删除了它。似乎颜色被设置为每个图块上的边距颜色,因为如果将 waffle 函数参数增加到sizesize=0则不会得到图块灌浆:

在此输入图像描述

如何使瓷砖填缝剂的颜色与背景一样黑色?

raw*_*awr 5

这看起来很老套,但您可以ggplot在打印之前编辑对象中所需的内容。

library('waffle')
counts <- c(a = 701, b = 1094, c = 1756)
x <- waffle(counts, 
       rows=50,
       size=0.75,
       legend_pos="bottom") + theme(legend.key.size=unit(3, "mm"),
                                    rect=element_rect(fill='black',
                                                      color='black'),
                                    plot.background=element_rect(fill='black'),
                                    strip.background = element_rect(colour=NA, fill=NA),
                                    panel.background=element_rect(fill='black', color='black'))

x$layers[[1]]$aes_params$colour <- 'black'
x
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

更“ggplot 方式”类似于编辑/替换图层:

x %+replace% geom_tile(inherit.aes = TRUE, color = 'black')
Run Code Online (Sandbox Code Playgroud)

但这不起作用。我不确定您是否可以在不打乱顺序的情况下就地替换图层。但这本质上就是黑客所做的。