如何在R for循环中绘制多个y轴

时间:2019-10-01 11:08:02

标签: r plotly yaxis

我正在尝试使用for循环在R中的绘图图中定义多个y轴。下面是一个示例。有没有人建议或经历过类似的工作?

#example of dataset of plotly to plot multiple y axes in for loop
library(plotly)

len = length(names(mtcars))
names = names(mtcars)

n=0
p= plot_ly()
for (i in names){
  n=n+1
  p=add_trace(p,data = mtcars, x = mtcars[,"mpg"], y = mtcars[,i], yaxis = paste0('y',ifelse(n==1,'',n)), type = 'scatter', mode = 'scatter')
}

n=0

for (i in 1:len)
{n=n+1
layout(p,assign(paste0('yaxis', ifelse(n==1,"",n)),list( overlaying = "y", side = ifelse((n %% 2) == 0,'right','left'), title = paste0(n, " y axis")
)) )
}  

p

我认为带有多个paste0的赋值可能会引起很多问题。大家还有其他方法可以想到吗?我试图将其合并到一个闪亮的应用程序中,以根据用户输入来绘制功能。因此,lapply()或for循环是理想的。我不确定是否可以预定义yax,以便绘制所有选择的变量。任何帮助是极大的赞赏。在R中是否有设置像这样的轴的实例?一定有可能吧?

0 个答案:

没有答案