使用add_trace将多条线添加到plot_ly图 [英] add multiple lines to a plot_ly graph with add_trace

查看:111
本文介绍了使用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 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

例如,这可以按预期工作.

But this for example works as expected.

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

希望有人可以给我一个提示.

Hope somebody can give me a hint on this.

推荐答案

您需要将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

这篇关于使用add_trace将多条线添加到plot_ly图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆