使用 add_trace 向 plot_ly 图中添加多条线图中、多条、add_trace、plot_ly

由网友(稚柠)分享简介:我找到了一个使用 add_trace 命令向 plot_ly 绘图添加线条的示例.如何在不使用 add_trace 多次的情况下添加要绘制的行列表?I found an example to add lines to a plot_ly plot by using the add_trace command. How...

我找到了一个使用 add_trace 命令向 plot_ly 绘图添加线条的示例.如何在不使用 add_trace 多次的情况下添加要绘制的行列表?

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 multiple times?

我尝试了一个 for 循环来添加跟踪,但这没有按预期工作.

I tried a for loop to add the traces but this doesn't work as expected.

my_lines <- list(
  list(x=1:10, y=2:11, color='red'),
  list(x=1:10, y=0:9, color='blue'),
  list(x=1:10, y=3:12, color='green')
)
p <- plot_ly()
p
for(line in my_lines) {  p <- add_trace(p, y=line[['y']], x=line[['x']], 
                 marker=list(color=line[['color']]))
}
p

但这例如按预期工作.

p <- plot_ly()
p <- add_trace(p, y=my_lines[[1]][['y']], x=my_lines[[1]][['x']],
               marker=list(color=my_lines[[1]][['color']]))
p <- add_trace(p, y=my_lines[[2]][['y']], x=my_lines[[2]][['x']],
               marker=list(color=my_lines[[2]][['color']]))
p <- add_trace(p, y=my_lines[[3]][['y']], x=my_lines[[3]][['x']],
               marker=list(color=my_lines[[3]][['color']]))
p

推荐答案

你需要设置 evaluate = TRUE 来强制求值/避免惰性求值

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
阅读全文

相关推荐

最新文章