varias tutorial superponer los lineas graficos grafico graficas ggplot etiquetas español escala ejes como cambiar barras r ggplot2 shiny

tutorial - agregar una capa a la gráfica actual sin crear una nueva en ggplot2



superponer graficas en r ggplot (2)

Aquí hay una idea Mantenga el diagrama como un valor reactiveValue y tenga un observador para actualizar el diagrama con las entradas del usuario. Luego, haga que otro observador observe los datos de la gráfica que representarán la gráfica cuando cambien los datos de la gráfica. De esta forma, los cálculos largos suceden antes de que se cambien los datos de la gráfica, por lo que la representación de la trama debería ocurrir tan rápido que debería haber muy poca interrupción visible. Aquí hay un ejemplo que usa el dataset de diamond de ggplot2 que es lo suficientemente grande como para ser obviamente lento cuando se renderizan las rutas.

shinyApp( shinyUI( fluidPage( sidebarLayout( sidebarPanel( selectInput("x", "X", choices=names(diamonds)), selectInput("y", "Y", choices=names(diamonds)), checkboxInput("line", "Add line") ), mainPanel( plotOutput("plot") ) ) ) ), shinyServer(function(input, output, session) { data(diamonds) vals <- reactiveValues(pdata=ggplot()) observe({ input$x; input$y; input$line p <- ggplot(diamonds, aes_string(input$x, input$y)) + geom_point() if (input$line) p <- p + geom_line(aes(group=cut)) vals$pdata <- p }) observeEvent(vals$pdata,{ output$plot <- renderPlot({ isolate(vals$pdata) }) }) ## Compare to this version ## output$plot <- renderPlot({ ## vals$pdata ## }) }) )

En R básica, puede agregar capas a la gráfica existente sin crear una nueva.

df <- data.frame(x = 1:10, y = runif(10)) plot(df, type = "l") points(df, add = T)

La segunda línea crea un gráfico y la tercera línea agrega puntos a la gráfica existente. En ggplot2:

my_plot <- ggplot(df, aes(x, y)) + geom_path() my_plot my_plot + geom_point()

La segunda línea crea una trama y la tercera crea otra. ¿Puedo de alguna manera agregar los puntos a la trama existente creada por la segunda línea? ¿Hay algo como add=TRUE en ggplot?

La razón por la que quiero este comportamiento es que usar ggplot2 en brillante causa parpadeos en sus animaciones.


Tengo exactamente el mismo problema, y ​​lo vi usando una etiqueta CSS especial, resolvió el problema, pero en realidad no lo resolvió para mí. Sin embargo, ¡podría ayudarte!

Sin embargo, me acabo de enterar de que todo lo que necesita hacer es agregar este enlace de código en el bloque de código fuente: tags$style(type="text/css", ".recalculating {opacity: 1.0;}")