Tentei traçar série de interativo ggplotly
gráficos a partir de dentro for
circuito em R remarcação ( .Rmd
arquivo). Conteúdo do meu arquivo .Rmd
:
`` `` ``
título: "Sem título"
output: html_document
`` `{r}
biblioteca (ggplot2) # para gráficos
biblioteca (plotly) # para plotagens interativas
factor_vars <- c ("vs", "am", "gear", "carb")
mtcars [factor_vars] <- data.frame (Map (as.factor, mtcars [factor_vars]))
para (VAR em factor_vars) {
cat (colar ("Variável de fator:", VAR))
# O conteúdo de "VAR" muda dentro do loop
p <- ggplot (mtcars, aes_string (x = "mpg", y = "wt", cor = VAR)) + geom_point ()
# Print an interactive plot
print(ggplotly(p))
}
`` `
`` `` ``
Eu pressiono o botão Knit HTML
em RStudio
. Infelizmente, nenhum dos gráficos interativos aparece no arquivo .html
.
Pergunta: por que os gráficos não são plotados? E como posso criar plotagem interativa em combinação com for
loop no arquivo Rmd
?
ps Se eu usar print(p)
vez de print(ggplotly(p))
, ggplot2
gráficos aparecem no arquivo .html
resultante.
Veja este comentário .
Vou abrir um problema em nosso repositório de documentação para ter certeza de que temos melhores documentos sobre isso ...
Este problema está resolvido? Parece que tenho o mesmo problema.
A solução alternativa atual é (com base no código de exemplo no problema original):
plotlist = list()
for (VAR in factor_vars) {
p <- ggplot(mtcars, aes_string(x = "mpg", y = "wt", color = VAR)) + geom_point()
plotlist[[VAR]] = ggplotly(p)
}
htmltools::tagList(setNames(plotlist, NULL))
Embora às vezes receba erros de acesso à memória do Pandoc quando tento fazer isso.
Comentários muito úteis
Este problema está resolvido? Parece que tenho o mesmo problema.