gpt4 book ai didi

r - 如何在 ggpairs (R) 中显示带有 scale_colour_manual 的彩色组相关性?

转载 作者:行者123 更新时间:2023-12-04 15:46:16 24 4
gpt4 key购买 nike

我将 ggpairs 用于 3 个组的数据。问题是并非所有变量都具有所有组,因此,一些相关性只需要显示 2 个组。由于 ggpairs 自动按字母顺序对组进行排序,因此着色不一致。第一种颜色始终分配给第一个因子水平。 (例如:第 1 组 = 红色,第 2 组 = 蓝色,第 3 组 = 绿色。但是变量只有第二组和最后一组:第 2 组 = 红色,第 3 组 = 蓝色。)

我尝试通过以下方式添加 scale_colour_manual 来自己解决这个问题:

scale_colour_manual(values = c("group1"="#F8766D", "group2"="#00BA38", "group3"="#619CFF"))

这似乎适用于对角线上的密度图 (ggally_densityDiag) 和下部的散点图 (ggally_points),但对于相关性 (ggally_cor) 我只得到总体(黑色)相关性而没有有色组相关性了。虽然它们之前显示过,但是颜色和组的匹配错误。为什么它们不再显示了?

以下代码生成此 plot ,颜色和组不匹配。

ggpairs(output.b[,c(13,17,18)], aes(colour = as.factor(output.b$country), alpha = 0.4),
upper = list(continuous = function(data, mapping, ...) {
ggally_cor(data = output.b, mapping = mapping) + scale_colour_manual(values = c("#F8766D", "#00BA38", "#619CFF"))}),
lower = list(continuous = function(data, mapping, ...) {
ggally_points(data = output.b, mapping = mapping) + scale_colour_manual(values = c("#F8766D", "#00BA38", "#619CFF"))}),
diag = list(continuous = function(data, mapping, ...) {
ggally_densityDiag(data = output.b, mapping = mapping) + scale_fill_manual(values = c("#F8766D", "#00BA38", "#619CFF"))}))

修改后的代码生成了这个 plot , 彩色组相关性不再显示。

ggpairs(output.b[,c(13,17,18)], aes(colour = as.factor(output.b$country), alpha = 0.4),
upper = list(continuous = function(data, mapping, ...) {
ggally_cor(data = output.b, mapping = mapping) + scale_colour_manual(values = c("group1"="#F8766D", "group2"="#00BA38", "group3"="#619CFF"))}),
lower = list(continuous = function(data, mapping, ...) {
ggally_points(data = output.b, mapping = mapping) + scale_colour_manual(values = c("group1"="#F8766D", "group2"="#00BA38", "group3"="#619CFF"))}),
diag = list(continuous = function(data, mapping, ...) {
ggally_densityDiag(data = output.b, mapping = mapping) + scale_fill_manual(values = c("group1"="#F8766D", "group2"="#00BA38", "group3"="#619CFF"))}))

最佳答案

[更新]经过大量的搜索和尝试,我发现了问题,但没有设法解决。要将上部相关性中“group3:”的颜色更改为蓝色,我必须隔离这些图并执行 scale_colour_manual,如以下代码所示:

p <- ggpairs(...)
p[1,2] <- p[1,2] + scale_colour_manual("group3: 0.113" = "#F8766D")
p[1,3] <- p[1,3] + scale_colour_manual("group3: 0.268" = "#F8766D")

手动完成所有这些工作太麻烦了,因为我必须用不同的分组制作其中的几个图,而且我有更多的变量...有没有办法在 ggally_cor 中自动实现它?

关于r - 如何在 ggpairs (R) 中显示带有 scale_colour_manual 的彩色组相关性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55657386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com