Как построить несколько осей Y с графиком в R для цикла - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь использовать цикл for для определения нескольких осей Y в графическом графике в R. Ниже приведен пример. У кого-нибудь есть какие-либо предложения или опыт, чтобы заставить что-то подобное работать?

#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, чтобы все выбранные переменные были построены. Любая помощь очень ценится. Есть ли какой-нибудь случай установки Yax как этот в R? Это должно быть возможно, верно?

...