使用基本 R 图形(使用 par(mfrow=c(nr,nc))
)时,我通常在 for 循环中生成子图。我正在尝试用 plotly
做类似的事情,通过生成一系列绘图并将它们保存到一个列表中,以便稍后传递给 subplot
功能。但是,由于我不明白的原因,在循环结束时,列表中的所有元素似乎都包含相同的图(最后一个)。如果我在循环内打印列表中的每个图(在下面的示例中取消注释以 print
开头的行),则这些图看起来不错)。我真的不明白发生了什么。有人可以解释这种意外行为或指出我下面的示例代码存在的问题吗?
library(plotly)
plotList = list()
plotListNames = c("p1", "p2", "p3")
for (i in 1:3){
x = rnorm(10)
y = rnorm(10)
thisName = plotListNames[i]
plotList[[thisName]] = plot_ly(x=x,y=y, name=thisName)
##print(plotList[[thisName]]
}
sbp = subplot(plotList[["p1"]], plotList[["p2"]], plotList[["p3"]])
print(sbp)
最佳答案
尝试这个:
plotList[[thisName]] = plotly_build(plot_ly(x=x,y=y, name=thisName))
关于r - 生成 R 绘图列表并将其传递给子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38130366/