1
我想創建一個sankey-like情節,我可以在ggplot2中創建起始位置和終止位置之間有曲線的位置。目前,我有一個看起來像這樣的數據:爲ggplot2插入起點和終點之間的曲線
df <- data.frame(Line = rep(letters[1:4], 2),
Location = rep(c("Start", "End"), each=4),
X = rep(c(1, 10), each = 4),
Y = c(c(1,3, 5, 15), c(9,12, 14, 6)),
stringsAsFactors = F)
例如:
Line Location X Y
1 a Start 1 1
2 a End 10 9
,並創建一個情節,看起來是這樣的:
library(ggplot2)
ggplot(df) +
geom_path(aes(x= X, y= Y, group = Line))
我會喜歡看到這樣的數據:
這是用於設置數據的另一選擇:
df2 <- data.frame(Line = letters[1:4],
Start.X= rep(1, 4),
Start.Y = c(1,3,5,15),
End.X = rep(10, 4),
End.Y = c(9,12,14,6))
例如:
Line Start.X Start.Y End.X End.Y
1 a 1 1 10 9
我可以找到如何曲線添加到基R的圖形的例子但是這些例子並未演示如何獲取中間點的數據框以繪製該曲線。我寧願使用dplyr
進行數據操作。我想這將需要一個for循環來建立一個插值點的表格。
這些例子是類似的,但不產生S形曲線:
Plotting lines on map - gcIntermediate
http://flowingdata.com/2011/05/11/how-to-map-connections-with-great-circles/
預先感謝您!
我不完全理解它是如何工作的,但它似乎做的伎倆!我會注意到你的評論:這表明了這種關係。我也想承認你回答這個問題的速度,這是相當令人欽佩的! – yake84