设置alpha并删除ggpairs中密度图的黑色轮廓

spo*_*234 12 r ggplot2 ggally

考虑这个例子:

data(tips, package = "reshape")
library(GGally)
pm <- ggpairs(tips, mapping = aes(color = sex), columns = c("total_bill", "time", "tip"))
pm
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何使密度图更透明并去除黑线?

这些GGally软件包最近似乎发生了很大的变化,我找不到一个有效的解决方案

更新

我找到了如何使用自定义函数更改alpha:

my_dens <- function(data, mapping, ..., low = "#132B43", high = "#56B1F7") {
  ggplot(data = data, mapping=mapping) +
    geom_density(..., alpha=0.7) 
}

pm <- ggpairs(tips, mapping = aes(color = sex), columns = c("total_bill", "time", "tip"),
              diag=list(continuous=my_dens))
pm
Run Code Online (Sandbox Code Playgroud)

但黑线仍然存在.

spo*_*234 11

感谢@Henrik这是使用自定义功能的解决方案

my_dens <- function(data, mapping, ...) {
  ggplot(data = data, mapping=mapping) +
    geom_density(..., alpha = 0.7, color = NA) 
}

pm <- ggpairs(tips, mapping = aes(color = sex), columns = c("total_bill", "time", "tip"),
              diag = list(continuous = my_dens))
pm
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有关如何自定义ggpairs绘图的示例可以在插图中找到.请参阅"矩阵章节"和"绘图矩阵子集".

  • 如果超过一岁,我知道答案,但它似乎不再起作用。当我复制粘贴您的代码时,我只会得到空白密度。 (3认同)

小智 8

尝试这个:

pm <- ggpairs(tips, mapping = aes(color = sex, alpha = 0.7), columns = c("total_bill", "time", "tip"))
Run Code Online (Sandbox Code Playgroud)