代码之家  ›  专栏  ›  技术社区  ›  Victor Barreto

如何用“绘图”功能绘制多个图形?

  •  0
  • Victor Barreto  · 技术社区  · 6 年前

    我试着在同一张图上用 plot_ly lapply 一旦情节分离,函数就失败了。遵循我使用的代码和步骤:

    首先,生成样本并将其放入一个称为“data”的向量中:

    sample = rnorm(2093)
    data <- as.data.frame(matrix(sample, nrow=91, ncol=23))
    

    name = c("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23")
    

    最后,我使用“lapply”函数滚动数据:

    fig <- plot_ly(data, x = ~data[1])
    
    aux_list_1 <- lapply(seq_along(data), function(j){
      fig <- fig %>% add_trace(y = ~data[[j]], name = name[j],type='scatter',mode = 'lines')
      fig
      })
    
    fig
    

    未指定跟踪类型: 阅读有关此跟踪类型的详细信息-> https://plot.ly/r/reference/#histogram

    或者,当我运行“aux_list_1”时,这些图是分开的。

    遵循完整代码:

    sample = rnorm(2093)
    data<- as.data.frame(matrix(random,nrow=91,ncol=23))
    
    name = c("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23")
    
    fig <- plot_ly(data, x = ~data[1])
    
    aux_list_1 <- lapply(seq_along(data), function(j){
      fig <- fig %>% add_trace(y = ~data[[j]], name = name[j],type='scatter',mode = 'lines')
      fig
      })
    
    fig
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Edward    6 年前

    这就是你要找的吗?

    fig <- plot_ly(data, x = ~data[1])
    
    for(trace in colnames(data))
        fig <- fig %>% add_trace(y = as.formula(paste0("~", trace)), 
                                 name = trace, type='scatter', mode = 'lines')
    fig
    

    enter image description here