我曾希望繪製兩個時間序列,並根據當時的系列較大來遮蔽系列之間的空間。geom_ribbon中可能存在的錯誤
這裏是兩個系列 - 首先在一個數據幀有指示器無論哪個系列是當時
d1 <- read.csv("https://dl.dropbox.com/s/0txm3f70msd3nm6/ribbon%20data.csv?dl=1")
更大,這是熔融的系列。
d2 <- read.csv("https://dl.dropbox.com/s/6ohwmtkhpsutpig/melted%20ribbon%20data.csv?dl=1")
我的情節......
ggplot() + geom_line(data = d2,
aes(x = time, y = value, group = variable, color = variable)) +
geom_hline(yintercept = 0, linetype = 2) +
geom_ribbon(data = d1[d1$big == "B",],
aes(x = time, ymin = csa,
ymax = csb),
alpha = .25,
fill = "#9999CC") +
geom_ribbon(data = d1[d1$big == "A",],
aes(x = time, ymin = csb,
ymax = csa),
alpha = .25,
fill = "#CC6666") +
scale_color_manual(values = c("#CC6666" , "#9999CC"))
導致...
爲什麼會出現在小區的中間多餘的藍色波段?
這是因爲你在數據中的間隙。要告訴'ggplot'這個間隙,並且什麼都不繪製,你必須在每個「部分」的末尾添加一行NA數據來終止功能區。 – Andrie
我實際上並不確定就是這樣,因爲這只是兩個模擬隨機遊走系列。爲什麼他們的絲帶之間沒有紅絲帶? – tomw
我第二次評論@Andrie。情節是正確的。功能區連接數據點。如果你想消除差距,你必須創建單獨的色帶。 –