2016-04-14 155 views
0

我用plotrix在R中生成一個極座標圖。記錄的角度是聽到的,長度取自記錄時間戳。日期解析與lubridate parse_date_timeR有空隙的極座標圖段

polar.plot(
    as.numeric(df$datetime), 
    df$heading, 
    rp.type="p", 
    start=90, 
    clockwise=TRUE, 
    show.grid.labels=FALSE 
) 

我遇到的問題是多邊形鏈接的第一個和最後一個點。我在數據中也有一些差距。這兩種情況導致多邊形的線跨過圖表的中間。理想情況下,我不會把第一個和最後一個點聯繫起來,並且當時間序列中存在顯着差距時,我會斷開連接線。

我已經在計算每條記錄之間的增量,因此很容易確定我希望發生哪些間隙。

如果還有另外一種方法來實現這些目標,那麼我就不會和plotrix綁在一起。

感謝您的任何幫助。

回答

0

數字......再過幾分鐘,我大多有一個解決方案。

首先,我得到一個與ggplot2一個體面的極地圖表。我不知道我以前怎麼沒有找到。

ggplot2 polar plot arrows

ggplot(df, aes(heading, datetime)) + coord_polar() + geom_path() 

我想我應該能夠要麼通過插入「NA」值或發電集團獲得的空白。 Line break when no data in ggplot2

idx <- c(1, diff(df$datetime)) 
i2 <- c(1,which(idx != 1), nrow(df)+1) 
df$grp <- rep(1:length(diff(i2)), diff(i2)) 
ggplot(df, aes(heading, datetime)) + coord_polar() + geom_path(group=grp) 

我不知道我怎麼沒發現密謀極性與GGPLOT2。

雖然,ggplot2沒有選擇連接點的最短路徑(它在圖表上一直循環連接10到350而不是0)。

編輯: 以及可與coord_map()來解決 ggplot2: How to link correctly track points around polar projection map?

編輯2: 沒關係,coord_map並不意味着這個