繁体   English   中英

如何使用循环在R中使用plotly绘制多条线

[英]How to plot multiple lines using plotly in R using a loop

我尝试使用带有循环的函数,而不必手动添加每个跟踪。 但它不起作用。

library(tidyverse)
library(plotly)

df <- tibble(year = c("2019", "2020"),
             x = c(1, 2),
             y = c(3, 5),
             z = c(2, 7))


addmore <- function(fig, i){
  fig %>% add_trace(y = ~df[[i]], name = colnames(df[i]),
                    mode = 'lines+markers',
                    line = list(width = 1)) -> fig
}

# This does not work

fig <- plot_ly(df, x = ~year, y = ~df[[2]],
               name = colnames(df[2]), type = 'scatter',
               mode = 'lines+markers',
               line = list(width = 1)) 

for (i in 3:4){
  addmore(fig, i)
}

fig <- fig %>% layout(title = "Sample",
                      xaxis = list(title = "Years"),
                      yaxis = list (title = "Values"))

fig
for (i in 3:4){
 fig <- addmore(fig, i)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM