0
我試圖基本上疊加兩個不同的圖,每個圖都由不同的因子着色,並且希望保留對着色順序的控制(即,沒有ggplot決定訂單的因素水平)。在一個ggplot中控制來自2個不同因素的顏色
例如,說我有這兩種不同dataframes:
labels1 <- factor(rep(LETTERS[1:2], each=5), levels=LETTERS[2:1])
dfp1 <- data.frame(L1=labels1, x=1:10, y=rep(1:2, each=5))
labels2 <- factor(rep(letters[1:2], each=5), levels=letters[2:1])
dfp2 <- data.frame(L2=labels2, x=(1:10), y=rep(c(0.25, 0.75), each=5))
和我要繪製的第一一個的ECDF,通過L1着色:
p <-
ggplot(dfp1, aes(x=x, y=y, color=L1)) +
stat_ecdf()
如果我知道要疊加在第二個數據幀的這個頂點上,I c一個做
p + geom_point(data=dfp2, mapping=aes(x=x, y=y, color=L2))
但隨後ggplot這兩個因素,L1和L2合併成一個,並在他們的級別上使用字母排序:
我有幾個這些地塊之作,與點的標籤改變,所以這個重構完全改變了圖之間元素的顏色。我想說服ggplot保持在所給定的順序各因子的水平,並保持因素的順序,也使着色根據
factor(c(as.character(labels1), as.character(labels2)),
levels=c(levels(labels1), levels(labels2)))
我該怎麼辦做那?