2016-08-31 19 views
2

geom_lineを使って3つのドット "a"、 "b"、 "c"を接続したいが、 "ab"と "bc" "ca"ではなく、geom_polygonではなくgeom_lineまたはgeom_pathを使ってどのように達成できますか?ggplot 2では、geom_lineの開始点と終了点を接続する方法

library(ggplot2) 
df <- data.frame (line =c ("a", "b", "c"), x = c(1, 2, 3), y = c(5, 2, 5)) 

ggplot() + 
geom_path(data = df, aes (x = x, y = y, color = line)) 
+0

グレート質問!だから、伝説も欲しいですか?それを試しましたか?その場合は、コードを共有してください。 – watchtower

答えて

1

ベクトルの最初の点を追加して、x軸に平行な線分を描画する方法の1つです。基本的に、ポリゴンを作成する場合は、geom_pathへの完全なパスを与える必要があります。

注:線d:

df <- data.frame (line =c ("a", "b", "c","d"), x = c(1, 2, 3,1), y = c(5, 2, 5,5)) 

    ggplot()+ 
     geom_path(data = df, aes (x = x, y = y)) 

は、この情報がお役に立てば幸い!

+0

それは動作しますが、特に私が伝説を使うときにはややこしいです。 –

3

geom_polygonを使用せずに終了ポリゴンを取得するには、最後の最初の行を繰り返す必要があります。

ggplot(rbind(df, head(df, 1)), aes(x = x, y = y, color = line, group = 1)) + 
    geom_path() 

enter image description here

関連する問題