2013-10-30 69 views
11

我覺得這個變量有點混亂,例如,從文檔:..level ..在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..)) 

爲什麼我不能用這個:

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

回答

7

從Hadley Wickham的A Layered Grammar of Graphics,第21頁,.. ..被使用,因爲美學(在這種情況下,等高線的水平)不存在於原始數據集中,而是由輪廓統計量計算。

這兩個點是一個視覺指示器,突出顯示變量不存在於原始數據中,但是由統計量計算出來。

不能使用colour=as.factor(z)size=as.factor(z)因爲圖形不使用z,而是使用它的一個統計變換 - 即..level..