Pergunta

Alguém usou GGPlot2 junto com o RPanel para produzir gráficos interativos. Aqui está um pedaço de código que eu adaptei do RPanel para plotar uma distribuição de Poisson e ter um controle deslizante para alterar o valor do parâmetro.

No entanto, o gráfico muda muito lentamente à medida que eu altero os parâmetros usando o controle deslizante. Quando altero a função da plotagem para usar treliça, é muito mais rápida. Isso é uma limitação do GGPlot2 em termos de velocidade? Existe uma maneira de superar isso?

poisson.draw = function(panel) {
  with(panel, {
     x = seq(0,n, by = 1)
     library(ggplot2)
     y = dpois(x, lambda)
     d = data.frame(cbind(x,y))
     p1 = ggplot(d, aes(x,y)) + geom_point()
     print(p1)
  })
  panel
}
panel <- rp.control("Poisson distribution", n = 30, lambda = 3, 
  ylim = 0.5)
rp.slider(panel, lambda, 1, 30, poisson.draw)
Foi útil?

Solução

Infelizmente, o GGPlot2 é lento no momento. No entanto, recebi uma doação generosa que me permitirá trabalhar no desempenho durante o verão, por isso espero que seja substancialmente melhorado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top