У меня есть фрейм данных, например
Seq start end
S1 20 30
S2 25 35
S3 40 45
S4 41 60
S5 20 60
S6 10 30
И я хотел бы создать с помощью ggplot такую фигуру, как:
Где я наношу координаты каждой полосы по оси X.
Порядок столбцов по оси Y не имеет предпочтений, но они не должны перекрываться.
Вот фрейм данных dput, если он может помочь
structure(list(Seq = c("S1", "S2", "S3", "S4", "S5", "S6"), start = c(20L,
25L, 40L, 41L, 20L, 10L), end = c(30L, 35L, 45L, 60L, 60L, 30L
)), class = "data.frame", row.names = c(NA, -6L))
Раскрашены последовательностями;
Образец кода:
library(ggplot2)
ggplot(df, aes(y = seq, x = start, colour = seq)) +
geom_segment(aes(yend = seq, xend = end), size = 3) +
labs(x = "Position", y = "", color = "Sequences")+
theme_minimal()
Сюжет:
Пример данных:
df<-structure(list(seq = c("S1", "S2", "S3", "S4", "S5", "S6"), start = c(20L,
25L, 40L, 41L, 20L, 10L), end = c(30L, 35L, 45L, 60L, 60L, 30L
)), class = "data.frame", row.names = c(NA, -6L))