2013-10-30 9 views
11

Trovo questa variabile un po 'di confusione, per esempio, dalla documentazione:..level .. in trama di contorno ggplot2

require(ggplot2) 
require(reshape2) 
volcano3d <- melt(volcano) 
names(volcano3d) <- c("x", "y", "z") 
v <- ggplot(volcano3d, aes(x, y, z = z)) 
v1 = v + stat_contour(aes(colour=..level..,size=..level..)) 

Perché non è possibile utilizzare questo:

v2 = v + stat_contour(aes(colour=as.factor(z),size=as.factor(z))) 

risposta

7

Da Hadley Wickham's A Layered Grammar of Graphics, pagina 21, il .. .. viene utilizzato perché l'estetica (in questo caso, i livelli dei contorni) non è presente nel set di dati originale, ma viene invece calcolata dalla statistica del profilo.

I due punti sono un indicatore visivo che evidenzia che la variabile non è presente nei dati originali, ma è stata calcolata dalla statistica.

Non è possibile utilizzare colour=as.factor(z) o size=as.factor(z) perché il grafico non utilizza z, ma utilizza una trasformazione statistica di esso - cioè, ..level..