【问题标题】:How to plot multiple graphs with "plot_ly" function?如何使用“plot_ly”函数绘制多个图形?
【发布时间】:2020-03-08 09:30:33
【问题描述】:

我正在尝试使用 plotly 包中的 plot_ly 函数在同一个图表上放置多条线。一旦地块被分离,我就没有成功使用lapply 函数。遵循我使用的代码和步骤:

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

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

之后,我用一个名为“name”的向量来命名这些线条:

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

当我运行“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

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    这是你要找的吗?

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      相关资源
      最近更新 更多