我想更改GGally
函数ggpairs
的调色板。当我尝试将ggplot命令添加到使用getPlot
返回的ggplot时,颜色不会改变。
my_pair_plot = ggpairs(dataset, color="var1")
getPlot(my_pair_plot,2,1) + scale_fill_brewer(palette = "Set2")
尝试将ggplot命令直接放在
ggpairs
函数上会导致错误。ggpairs(dataset, color="var1") + scale_fill_brewer(palette = "Set2")
最佳答案
原来,这是可能的!它需要查找源代码,但是该解决方案非常容易实现。我们对ggpairs
函数感兴趣,所以第一步只是
ggpairs
让我们看看是否可以找到任何映射到填充或颜色的aes映射。确实,
combo_aes <- addAndOverwriteAes(aes_string(x = xColName,
y = yColName, ...), section_aes)
我们可能希望它能按照它说的做。两个重要说明:
ggpairs
调用的省略号中应包含颜色和填充色使用
aes_string()
让我们尝试一下:
ggpairs(diamonds[, 1:2], colour='cut')
太好了,我们快到了!我们只需要覆盖调色板即可。请注意,类似您的提议
ggpairs(diamonds[, 1:2], colour='cut') + scale_fill_brewer(palette = "Set2")
将不会工作,因为ggpairs对象不是ggplot,因此
+
表示法不能以任何方式直接适用。但是,here提供了简单的解决方法。交叉手指,然后...ggplot <- function(...) ggplot2::ggplot(...) + scale_fill_brewer(palette="Set2")
ggpairs(diamonds[, 1:2], colour='cut')
关于r - 有没有办法使用ggplot更改GGally::ggpairs的调色板?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14711550/