用ggplot2绘制不同长度的矢量图

时间:2012-03-19 10:28:26

标签: r ggplot2

我有8个不同长度(不同文件数量)的数据向量(MAP分数),从80到500.如何将它们读到R并在ggplot2中将它们绘制成相同的长度?考虑它们不同数量的数据点,范围从0到1.它们应按比例缩小/缩小,以便它们适合相同的图形。并为图片添加更平滑的效果。分数范围从0到1。 例如,我有矢量

vec1 = [1,0.8,0.6,0.8,0.6,0.6] # => +
vec2 = [1,0.8,0.6,0.4] # => *

并且情节应该如下:

+   
  +*  +
    +  *+  +
           *

但有线。

1 个答案:

答案 0 :(得分:7)

你走了。

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()

enter image description here