我想創建一個ggplot,其中統計參數根據審美映射因子而變化。具體來說,我想用stat_density2d()創建一個等值線圖,我想將離散因子映射爲顏色,並且我想爲每個因子級別指定不同的中斷值。ggplot2:一個非美學參數可以因因變化嗎?
這裏有一個最小的工作示例:
d <- data.frame(x=c(rnorm(500), rnorm(500, 2)), y=rnorm(1000), z=c(rep("a", 500), rep("b", 500)))
ggplot(d, aes(x, y, fill=z)) +
stat_density2d(breaks=.05, geom="polygon", alpha=.5)
這就是我要去的,除了休息是跨因素是相同的。我正在尋找一種方法來爲每個因素指定不同的中斷值。這樣做的一個方法是爲每一個因素單獨的層:
ggplot() +
stat_density2d(data=d[d$z=="a",], aes(x, y), breaks=.05, geom="polygon", alpha=.5, fill="red") +
stat_density2d(data=d[d$z=="b",], aes(x, y), breaks=.1, geom="polygon", alpha=.5, fill="blue")
但因爲我失去的傳說,這是不可行的,它是太麻煩的情況下,有兩個以上的因素水平。
我想結合上述兩種情況的優點。我幾乎是積極的,我已經看到了一種方法來完成我想要做的事情,但現在似乎無法找到它是相關的。任何人對可能的解決方案都有想法?
採取解決方案,我從來沒有見過這樣的方式來做到這一點裏面ggplot,但我認爲你可以通過(a)預處理你的數據,或者(b)轉換你的數據來很容易地做到這一點。 – Gregor 2014-12-06 01:35:03