在 R 中绘制:使用 list() 对象中的数据提供 add_trace

plotly in R : feeding add_trace with data from a list() object

我的数据已存储在列表对象中。我有几条线可以一条一条地画在另一条上面。我想在不将数据转换为数据框的情况下使用 plotly 绘制它们。在下面的代码中,第一行绘制得很好,但其他行没有使用 add_trace() 绘制:

library(plotly)
d1 = list(x=c(1,2,3,4),y=c(1,2,3,4))
d2 = list(x=c(1,2,3,4),y=c(1,2,3,4)+2)
p<-plot_ly(d1,x=x,y=y)
p<-add_trace(d2,x=x,y=y)
p

报错

Error in eval(expr, envir, enclos) : object 'x' not found

有什么想法吗? 谢谢

PS :顺便说一句,我也觉得很奇怪 plot_ly 在没有 x=x, y=y 的情况下不起作用。我知道数据在 plotly 内部是这样存储的。

你可以试试:

d1 = list(x=c(1,2,3,4),y=c(1,2,3,4))
d2 = list(x=c(1,2,3,4),y=c(1,2,3,4)+2)
p<-plot_ly(d1,x=x,y=y) %>% add_trace(x=d2[[1]], y=d2[[2]])
p