如何更改 R 华夫饼图中 "tile grout" 的颜色以匹配背景
How to change color of "tile grout" in R waffle plot to match background
我正在尝试制作华夫饼图以使用深色模式。这涉及更改背景颜色和瓷砖灌浆的颜色。我不知道该怎么做瓷砖灌浆。
我无法执行任何更改颜色的正常操作:
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'))
有一个 pull request 可以做到这一点,但制作它的人删除了它。似乎每个瓷砖的颜色都设置为边距颜色,因为如果您将华夫饼函数参数 size
增加到 size=0
,您就不会得到瓷砖灌浆:
如何让瓷砖灌浆与背景一样黑?
这看起来很老套,但您可以在打印前在 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
更像“ggplot 方式”的是 editing/replacing 层:
x %+replace% geom_tile(inherit.aes = TRUE, color = 'black')
但这不起作用。我不确定您是否可以替换层 in-place 而不会弄乱顺序。但这实际上就是黑客所做的。
我正在尝试制作华夫饼图以使用深色模式。这涉及更改背景颜色和瓷砖灌浆的颜色。我不知道该怎么做瓷砖灌浆。
我无法执行任何更改颜色的正常操作:
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'))
有一个 pull request 可以做到这一点,但制作它的人删除了它。似乎每个瓷砖的颜色都设置为边距颜色,因为如果您将华夫饼函数参数 size
增加到 size=0
,您就不会得到瓷砖灌浆:
如何让瓷砖灌浆与背景一样黑?
这看起来很老套,但您可以在打印前在 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
更像“ggplot 方式”的是 editing/replacing 层:
x %+replace% geom_tile(inherit.aes = TRUE, color = 'black')
但这不起作用。我不确定您是否可以替换层 in-place 而不会弄乱顺序。但这实际上就是黑客所做的。