5

これはおもちゃのデータセットです:

xa <- c(4, 5, 4.5, 4, 3, 1.5)
ya <- c(1, 2, 4, 5, 5.5, 6)
xb <- c(3.8, 4.5, 4, 3.5, 2.5, 1)
yb <- c(1, 2, 3, 4, 5, 5.8)
toyset <- as.data.frame(cbind(xa, ya, xb, yb))

それらを結ぶ点と線を単純にプロットすると、次のようになります。

library(ggplot2)
ggplot(toyset) + geom_path(aes(xa, ya)) + geom_path(aes(xb, yb)) +
  geom_point(aes(xa, ya)) + geom_point(aes(xb, yb))

ここに画像の説明を入力

ggplot2で 2 つの線で定義された領域を埋める簡単な方法はありますか?

4

1 に答える 1

6

使用できますgeom_polygon

poly_df <- rbind(setNames(toyset[,1:2],c('x','y')),
                 setNames(toyset[6:1,3:4],c('x','y')))

ggplot(toyset) + 
    geom_path(aes(xa, ya)) + 
    geom_path(aes(xb, yb)) +
    geom_point(aes(xa, ya)) + 
    geom_point(aes(xb, yb)) +
    geom_polygon(data = poly_df,aes(x = x,y = y),fill = "lightblue",alpha = 0.25)

サンプル データ (54) のタイプミスを修正しました。ポリゴンのデータ フレーム内のポイントの順序には十分注意する必要があることに注意してください。と同じ扱いgeom_pathです。

于 2013-10-15T18:21:08.050 に答える