相关对图:组和密度散点图的不同点颜色
Correlation pairs plot: different point colors for groups and density scatterplot
我想通过相关性比较不同组(a 和 b)的数据,例如 a1 vs a2 和 a1 vs b2 等。
我正在使用 pairs()
函数生成相关散点图。
myData.df <- data.frame(a1=rnorm(100),a2=rnorm(100),b1=rnorm(100),b2=rnorm(100))
upper.panel<-function(x, y){
points(x,y, pch=20,col=alpha("mediumorchid4", 0.4))
lmod <- lm(y~x)
modsum <- summary(lmod)
r2 <- modsum$adj.r.squared
r2label = bquote(italic(R)^2 == .(format(r2, digits = 2)))
usr <- par("usr")
on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
text(0.5, 0.9, r2label)
}
pairs(myData.df, lower.panel = NULL, upper.panel = upper.panel)
我希望用不同的颜色为散点图点着色,具体取决于它们是在组内比较还是跨组比较。 ,即在组内比较 ai vs aj 时,我会用红色、bi vs bj 为蓝色、ai vs bj 为紫色等。
也可以为绘图设置不同颜色的背景。
或者,是否可以绘制成对密度散点图,例如使用 smoothScatter() 或 IDPmisc::iplot()?
谢谢
您可以使用 ggpairs
来自 GGally
的高度自定义。我敢肯定,如果您查看文档,您会发现可以根据自己的需要进行调整。在这里,我将根据您的要求使用它为点着色。
但是,对于您的特定用例,您需要将数据框的多个副本与各种 NA 列堆叠在一起,以允许添加着色变量。这只涉及一些额外的代码。
library(GGally)
myData.df <- data.frame(a1 = rnorm(100), a2 = rnorm(100), b1 = rnorm(100), b2 = rnorm(100))
plot_data <- do.call(rbind, lapply(seq(ncol(combn(ncol(myData.df), 2))),
function(i)
{
myData.df[combn(4, 2)[, i]] <- NA
myData.df$col <- letters[i]
myData.df
}))
ggpairs(plot_data, 1:4, mapping = aes(color = col)) +
scale_color_manual(values = c("blue", rep("purple", 4), "red"))
由 reprex package (v0.3.0)
于 2020 年 7 月 10 日创建
我想通过相关性比较不同组(a 和 b)的数据,例如 a1 vs a2 和 a1 vs b2 等。
我正在使用 pairs()
函数生成相关散点图。
myData.df <- data.frame(a1=rnorm(100),a2=rnorm(100),b1=rnorm(100),b2=rnorm(100))
upper.panel<-function(x, y){
points(x,y, pch=20,col=alpha("mediumorchid4", 0.4))
lmod <- lm(y~x)
modsum <- summary(lmod)
r2 <- modsum$adj.r.squared
r2label = bquote(italic(R)^2 == .(format(r2, digits = 2)))
usr <- par("usr")
on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
text(0.5, 0.9, r2label)
}
pairs(myData.df, lower.panel = NULL, upper.panel = upper.panel)
我希望用不同的颜色为散点图点着色,具体取决于它们是在组内比较还是跨组比较。 ,即在组内比较 ai vs aj 时,我会用红色、bi vs bj 为蓝色、ai vs bj 为紫色等。
也可以为绘图设置不同颜色的背景。
或者,是否可以绘制成对密度散点图,例如使用 smoothScatter() 或 IDPmisc::iplot()?
谢谢
您可以使用 ggpairs
来自 GGally
的高度自定义。我敢肯定,如果您查看文档,您会发现可以根据自己的需要进行调整。在这里,我将根据您的要求使用它为点着色。
但是,对于您的特定用例,您需要将数据框的多个副本与各种 NA 列堆叠在一起,以允许添加着色变量。这只涉及一些额外的代码。
library(GGally)
myData.df <- data.frame(a1 = rnorm(100), a2 = rnorm(100), b1 = rnorm(100), b2 = rnorm(100))
plot_data <- do.call(rbind, lapply(seq(ncol(combn(ncol(myData.df), 2))),
function(i)
{
myData.df[combn(4, 2)[, i]] <- NA
myData.df$col <- letters[i]
myData.df
}))
ggpairs(plot_data, 1:4, mapping = aes(color = col)) +
scale_color_manual(values = c("blue", rep("purple", 4), "red"))
由 reprex package (v0.3.0)
于 2020 年 7 月 10 日创建