Add multiple lines to a plot_ly graph with add_trace

前端 未结 3 1594
日久生厌
日久生厌 2021-02-20 06:59

I found an example to add lines to a plot_ly plot by using the add_trace command. How can I add a list of lines to plot without using add_trace

相关标签:
3条回答
  • 2021-02-20 07:45

    I believe with the release of plotly 4.0 calling any of the add_* family of functions forces evaluation so there is no need to call evaluate = T anymore

    So, something like this should work fine:

    devtools::install_github("ropensci/plotly")
    library(plotly)
    
    p <- plot_ly()
    
    for(i in 1:5){
      p <- add_trace(p, x = 1:10, y = rnorm(10), mode = "lines")
    }
    
    p
    

    0 讨论(0)
  • 2021-02-20 07:45

    You can transform your inputs into a long-form data frame first, then plot using the split argument.

    library(plotly)
    library(reshape2)
    
    my_lines = data.frame(x = 1:10, red = 2:11, blue = 0:9, green = 3:12)
    my_lines_long = reshape2::melt(my_lines, id.vars = "x")
    fig = plotly::plot_ly(my_lines_long, x = ~x, y = ~value, split = ~variable,
                          marker=list(color=~variable))
    fig
    
    0 讨论(0)
  • 2021-02-20 07:53

    You need to set evaluate = TRUE to force evalutation / avoid lazy evaluation

    p <- plot_ly()
    p
    for(line in my_lines) {  p <- add_trace(p, y=line[['y']], x=line[['x']], 
                     marker=list(color=line[['color']]),
                     evaluate = TRUE)
    }
    p
    
    0 讨论(0)
提交回复
热议问题