Here you go.
dat <- list( vec1 = c(1,0.8,0.6,0.8,0.6,0.6), # => + vec2 = c(1,0.8,0.6,0.4) # => *) ) addX01 <- function(x, label="A"){ n <- length(x) - 1 data.frame(x=seq(0, 1, by=(1/n)), y=x, label=label) } raggedListToDf <- function(x, labels=LETTERS[seq_along(x)]){ do.call(rbind, lapply(seq_along(x), function(i) addX01(x[[i]], label=labels[i]))) } plotData <- raggedListToDf(dat, labels=c("*", "+")) ggplot(plotData, aes(x, y, label=label, group=label)) + geom_text()

Andrie
source share