R ggplot2中的刻面

R ggplot2中的刻面,r,ggplot2,facet,R,Ggplot2,Facet,我有以下数据集: 数据集包含3个变量 下面是我现在可视化数据的方式: library(ggplot2) library(reshape2) library(RColorBrewer) dat = read.csv("data.csv", header = FALSE) myPalette <- colorRampPalette(rev(brewer.pal(11, "Spectral"))) sc <- scale_colour_gradientn(colours = myPal

我有以下数据集: 数据集包含3个变量

下面是我现在可视化数据的方式:

library(ggplot2)
library(reshape2)
library(RColorBrewer)

dat = read.csv("data.csv", header = FALSE)

myPalette <- colorRampPalette(rev(brewer.pal(11, "Spectral")))
sc <- scale_colour_gradientn(colours = myPalette(100))

ggplot(dat, aes(x=V1, y=V3, colour = V2))+ geom_point(alpha = .2,size = 3) + sc
库(ggplot2)
图书馆(E2)
图书馆(RColorBrewer)
dat=read.csv(“data.csv”,header=FALSE)

myPalette您可以通过将数据放在
ggplot
likes格式中来实现这一点。在本例中,一个列可用于将数据拆分为方面(下面称为
var
)。为此,我只需重复数据三次,为每个双向组合选择适当的x和y变量,并使用每个组合中遗漏的变量作为着色变量

## Rearrange the data by 2-way combinations, the coloring is the remaining column
res <- do.call(rbind, combn(1:3, 2, function(ii)
    cbind(setNames(dat[,c(ii, setdiff(1:3, ii))], c("x", "y", "color")),
                   var=paste(ii, collapse=".")), simplify=F))

ggplot(res, aes(x=x, y=y, color=color))+ geom_point(alpha = .2,size = 3) + 
  facet_wrap(~ var, scales="free") + sc
##通过双向组合重新排列数据,颜色为剩余列

太棒了!有没有可能给每个方面一个单独的颜色图例?@Rodolphe我不确定,我只是想弄清楚颜色的含义,如果我弄明白了什么,就会更新。你可以很容易地把三个情节(不分面)放在同一块画布上,上面有不同的传说,但这完全违背了这个目的。@Rodolphe hadley的这个回答,让我觉得有必要进行一次破解。。。可能颜色是指距离每个变量的距离(通过
scale
ing)?我不知道sry