Если я правильно понимаю, следующее более или менее то, что вы хотите.
library(ggplot2)
library(dplyr)
my_data %>%
mutate(desc = sprintf('%03d%s', start, description)) %>%
ggplot(aes(x = "", y = length, fill = desc)) +
geom_bar(stat="identity") +
scale_fill_manual(name = 'Description',
values = my_data$description,
labels = my_data$description) +
xlab(NULL)
![enter image description here](https://i.stack.imgur.com/jlr5w.png)
Данные.
my_data <-
structure(list(start = c(1, 48, 175, 196, 308, 510, 526),
length = c(47, 127, 21, 112, 202, 16, 10), description =
structure(c(1L, 2L, 3L, 2L, 4L, 2L, 3L), .Label = c("A",
"B", "C", "D"), class = "factor")), row.names = c(NA, -7L),
class = "data.frame")