2016-04-14 11 views
0

私はRで極座標を生成しています。角度はレコードの盗難であり、長さはレコードのタイムスタンプから取得されます。日付はrubridateで解析されます。parse_date_timeRギャップがある極座標グラフセグメント

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

問題は、ポリゴンが最初と最後のポイントをリンクすることです。私はまた、データにいくつかのギャップがあります。これらの2つの状況は、グラフの中央を横切る多角形の線につながります。理想的には、最初と最後の点をリンクしないで、時系列に大きなギャップがあるときはいつでも、接続線を壊すことになります。

私はすでに各レコード間のデルタを計算しているので、それらのギャップがどこに発生するかを特定するのは簡単です。

これらの目標を達成する別の方法がある場合、私は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は接続ポイントへの最短パスを選択していませんが、0を渡すのではなく10から350に接続するためにグラフの周りをループします。

編集: そして、それは、(coord_mapで解決することができます) ggplot2: How to link correctly track points around polar projection map?

編集2: ネヴァーマインド、coord_mapこの

ためのものではありません
関連する問題