切断されたラインをggplotにプロットします[重複]
ggplotを使用して線が切断されたグラフを作成したい
# Sample data
x <- seq(1:100)
y <- c(rnorm(25, mean = 1, sd = 1), rnorm(25, mean = 2, sd = 1), rnorm(25, mean = 3, sd = 1), rnorm(25, mean = 4, sd = 1))
z <- rep(1:4, each = 25)
tempdf <- data.frame(cbind(x,y,z))
コードの使用
ggplot(data=tempdf, aes(x = x)) +
geom_line(aes(y = y), color = "blue") +
geom_line(aes(y = z), color = "red", size = 1)
私はこの出力を取得します
しかし、私は次のようなものを作成したいと思います(赤い線が段階的に接続されていないことに注意してください)
使ってみましgeom_segment
たが、正しい方法がわかりませんでした
ggplot(data=tempdf, aes(x = x)) +
geom_line(aes(y = y), color = "blue") +
geom_segment(x = x, y = z, xend = x+25, yend = z)
これを与える
回答
2 GregorThomas
group
美学を使用して、接続されている行を定義します。
ggplot(data=tempdf, aes(x = x)) +
geom_line(aes(y = y), color = "blue") +
geom_line(aes(y = z, group = z), color = "red", size = 1)
(これgroup = z
は、同じz
値を持ち、z
値が一意である場合に線を接続する必要があるため、サンプルデータで簡単に機能します。より堅牢な方法では、この目的で列を追加します。)