Bağlantısı kesilen hattı ggplot [duplicate] olarak çizin
Ggplot kullanarak bağlantısı kesilmiş çizgilerle bir grafik oluşturmak istiyorum
# 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))
Kodu kullanma
ggplot(data=tempdf, aes(x = x)) +
geom_line(aes(y = y), color = "blue") +
geom_line(aes(y = z), color = "red", size = 1)
Bu çıktıyı alıyorum
Ancak şöyle bir şey oluşturmak istiyorum (kırmızı çizgilerin adımlarda birbirine bağlı olmadığına dikkat edin)
Kullanmayı denedim geom_segment
ama doğru yolu bulamadım
ggplot(data=tempdf, aes(x = x)) +
geom_line(aes(y = y), color = "blue") +
geom_segment(x = x, y = z, xend = x+25, yend = z)
bunu verir
Yanıtlar
2 GregorThomas
group
Hangi satırların bağlantılı olduğunu tanımlamak için bir estetik kullanın :
ggplot(data=tempdf, aes(x = x)) +
geom_line(aes(y = y), color = "blue") +
geom_line(aes(y = z, group = z), color = "red", size = 1)
(Bu, örnek verileriniz için kolayca çalışır, group = z
çünkü aynı z
değere sahipse VE z
değerler benzersizse bağlanan hatlar olmasını istersiniz . Daha sağlam bir yol, bu amaç için bir sütun ekler.)
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'