我如何重新創建以下內容,以便我不需要重復geom_segment行,而是通過編程產生多個geom_segment呼叫(因此,可以使用許多不同的資料框,這些資料框的行數可能不同)?
library(ggplot2)
library(tibble)
df <- tibble:: tibble(freqs = c(261. 6256, 293. 6648, 329.6276, 293. 6648, 329. 6276, 349.2282, 391. 9954, 349.2282, 329.6276, 293.6648, 329. 6276, 293.6648, 329. 6276, 349.2282, 391. 9954),
durs = c(0.96, 1. 92, 3.84, 4. 80, 5.76, 7. 68, 8.64, 9. 60, 10.56, 11. 52, 12.00, 12. 48, 12.96, 13. 44, 15.36))
df2 <- df
ggplot2::ggplot(df, ggplot2:: aes(x =durs, y = freqs))
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[1]/span>。 xend=df2$durs[2]/span>。 y=df2$freqs[1]/span>。 yend=df2$freqs[/span>1])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[2]/span>。 xend=df2$durs[3]/span>。 y=df2$freqs[2]/span>。 yend=df2$freqs[/span>2])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[3]/span>。 xend=df2$durs[4]/span>。 y=df2$freqs[3]/span>。 yend=df2$freqs[/span>3])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[4]/span>。 xend=df2$durs[5]/span>。 y=df2$freqs[4]/span>。 yend=df2$freqs[/span>4])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[5]/span>。 xend=df2$durs[6]/span>。 y=df2$freqs[5]/span>。 yend=df2$freqs[/span>5])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[6]/span>。 xend=df2$durs[7]/span>。 y=df2$freqs[6]/span>。 yend=df2$freqs[/span>6])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[7]/span>。 xend=df2$durs[8]/span>。 y=df2$freqs[7]/span>。 yend=df2$freqs[/span>7])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[8]/span>。 xend=df2$durs[9]/span>。 y=df2$freqs[8]/span>。 yend=df2$freqs[/span>8])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[9]/span>。 xend=df2$durs[10]/span>。 y=df2$freqs[9]/span>。 yend=df2$freqs[/span>9])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[10]/span>。 xend=df2$durs[11]/span>。 y=df2$freqs[10]/span>。 yend=df2$freqs[/span>10]) )
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[11]/span>。 xend=df2$durs[12]/span>。 y=df2$freqs[11]/span>。 yend=df2$freqs[/span>11])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[12]/span>。 xend=df2$durs[13]/span>。 y=df2$freqs[12]/span>。 yend=df2$freqs[/span>12])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[13]/span>。 xend=df2$durs[14]/span>。 y=df2$freqs[13]/span>。 yend=df2$freqs[/span>13]) )
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[14]/span>。 xend=df2$durs[15]/span>。 y=df2$freqs[14]/span>。 yend=df2$freqs[/span>14])
ggplot2::geom_segment(/span>ggplot2:: aes(x=df2$durs[15]/span>。 xend=df2$durs[16]/span>。 y=df2$freqs[15]/span>。 yend=df2$freqs[/span>15]))
uj5u.com熱心網友回復:
ggplot(df, aes(x = durs, xend = dplyr: : lead(durs), y = freqs。 yend = freqs))
geom_segment()
或者,如果你想避免因為某些原因需要使用dplyr::lead,這里有一個base ggplot2的解決方案。我在df2中創建了一個新的向量,其中的durs值被移到了前面一行。
df2 <- df
df2$durs_next = c(df2$) 運算子">$durs[seq_len(length) 標點符號">(df2$durs)-1) 1】。 NA)
ggplot(df2, aes(x = durs, xend = durs_next。 y = freqs, yend = freqs))
geom_segment()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/318888.html
標籤:
上一篇:接受動態網址時,基本布局無法加載
下一篇:繪圖中自動編號的面板
