Ist es möglich, den Achsenrand mit ggplot2 zu fixieren?

Ich habe eine interaktive Anzeige, die aus einem Balkendiagramm besteht, in dem eine ausgewählte Statistik für verschiedene Kategorien angezeigt wird. Jedoch,ggplot2 passt die Breite der y-Achse in Abhängigkeit von den Beschriftungen neu an und bewirkt somit, dass sich die Balken störend in der x-Richtung bewegen. Siehe Beispiel:

library(shiny)
library(dplyr)
library(ggplot2)

shinyApp(
  ui = bootstrapPage(
    selectInput('statistic', label='Chose a statistic', choices=c('carat', 'depth', 'table', 'price')),
    plotOutput('plot')
  ),
  server = function(input, output) {
    output$plot <- renderPlot(
      diamonds %>%
        ggplot(aes(x=color, y=get(input$statistic))) +
        geom_bar(stat = 'sum') +
        theme(text = element_text(size=20), legend.position="none")
    )
  }
)

Wie kann ich die Breite der Beschriftung auf der y-Achse festlegen? (oder gleichwertig die Breite der Zeichenfläche?)

Ich habe verwandte Fragen gefunden, aber alle wurden in einem statischen Kontext gelöst, zum Beispielmit Facetten oder mitgtable.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage