我有一个如下所示的数据框:
df = data.frame(x = runif(100, 0, 1),
y = runif(100, 1, 2),
var1 = runif(100, 0, 1),
var2 = runif(100, 0, 1),
var3 = rep(c("a", "b"), 50))
我想在 ggplot2 中绘制一个分面图,在每个分面(散点图)中绘制相同的 x
与 y
,但颜色由 var1 的值决定
、var2
和 var3
。在这种情况下,只有 3 个方面,每个着色列一个。
这是怎么做到的?
最佳答案
plots = lapply(3:5, function(i){
dt = df[,c(1, 2, i)]
ggplot(data = dt, aes_string(x = names(dt)[1],
y = names(dt)[2],
color = names(dt[3]))) +
geom_point()
})
library(gridExtra)
do.call(function(...){
grid.arrange (..., ncol = 3)},
plots)
关于r - 用不同的变量值给每个面着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53364006/