Die Breite eines Plots ist weniger als die Hälfte, wenn ggplotly vs plot_ly verwendet wird, um eine Ploty in einer glänzenden App zu generieren. Warum das? Gibt es eine Möglichkeit, es zu beheben, so dass ggplotly das Diagramm mit der gleichen Breite wie plot_ly oder ggplot2 erzeugt? Ich habe versucht, den width-Parameter zu verwenden, aber das behebt es nicht.Auf glänzenden app ggplotly() rendert die Hälfte der Größe von plot_ly(). Wie behebt man das?
Ausgabe von der glänzenden App:
library(shiny)
library(plotly)
library(ggplot2)
ui <- fluidPage(
titlePanel("plotly with shiny"),
mainPanel(
h4("Using ggplotly:"), plotlyOutput("ggplotly", width = "200"),
h4("Using native plotly:"), plotlyOutput("plotly"),
h4("Using ggplot:"), plotOutput("ggplot")
)
)
server <- function(input, output) {
data <- reactive({
d = diamonds[sample(nrow(diamonds), 300),]
})
output$ggplot <- renderPlot({
ggplot(data(), aes(x=carat, y=price, color=price)) + geom_point()
})
output$ggplotly <- renderPlotly({
v = ggplot(data(), aes(x=carat, y=price, color=price)) + geom_point()
ggplotly(v)
})
output$plotly <- renderPlotly({
plot_ly(data(), x = ~carat, y = ~price, color = ~price)
})
}
shinyApp(ui = ui, server = server)
Dank Stephane. Das ist für mich in Ordnung. Der einzige Nebeneffekt ist, dass die Größe des Diagramms nicht automatisch geändert wird, wenn die Größe des Browserfensters geändert wird. Ich kann das für jetzt leben. – smes