首页 > 解决方案 > 如何在R中的pairs.panels()中按组按不同颜色分隔散点图

问题描述

我正在尝试使用pairs.panels()R 绘制对图。并按不同颜色的不同组分隔散点图,使其如下所示:

在此处输入图像描述

这是我的初步尝试:

n = 1000
kindness <- rnorm(n)
beauty <- rnorm(n)
score <- kindness + beauty
c50 <- quantile(score, .50)
marriage <- ifelse(score>=c50, 1, 0)

df <- data.frame(marriage, beauty, kindness)
pairs.panels(df, digit = 3)

但这会产生以下内容:

在此处输入图像描述

任何人都可以帮助解决这个分离散点图颜色的问题pairs.panels()吗?谢谢。

标签: rplot

解决方案


如果您首先更改点“形状”(pch;例如参见https://www.datanovia.com/en/blog/pch-in-r- ,则可以通过“bg”选项调整点的背景颜色最佳提示/):

library(psych)
n = 1000
kindness <- rnorm(n)
beauty <- rnorm(n)
score <- kindness + beauty
c50 <- quantile(score, .50)
marriage <- ifelse(score>=c50, 0, 1)
df <- data.frame(marriage, beauty, kindness)

pairs.panels(df, digits = 3, pch = 21,
             bg=c("red","purple")[factor(df$marriage)])

示例_1.png

或者您可以使用像 viridis 或 RColorBrewer 这样的调色板,例如

pairs.panels(df, digits = 3, pch = 21,
             bg=viridis::viridis(2)[factor(df$marriage)])

示例_2.png


推荐阅读