Mach deinen Plot größer
Genauso wie Eingabefunktionen je nach Eingabetyp verschiedene Argumente haben können, verfügen auch Output-Platzhalterfunktionen über unterschiedliche Argumente, um ihr Aussehen oder Verhalten anzupassen.
Wenn du zum Beispiel in einer Shiny-App einen Plot mit plotOutput() anzeigst, ist die Standardhöhe des Plots 400 Pixel. Die Funktion plotOutput() hat einige Parameter, mit denen sich die Höhe oder Breite eines Plots ändern lässt.
Diese Übung ist Teil des Kurses
Fallstudien: Webanwendungen mit Shiny in R erstellen
Anleitung zur Übung
Der Code für die Shiny-App aus der letzten Übung ist gegeben. Deine Aufgabe ist es, den Plot zu vergrößern. Konkret:
- 600 Pixel hoch und 600 Pixel breit. Du kannst in der Dokumentation zu
plotOutput()nachsehen, welche Parameter du verwenden musst (Zeile 18).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput("title", "Title", "GDP vs life exp"),
numericInput("size", "Point size", 1, 1),
checkboxInput("fit", "Add line of best fit", FALSE),
colourInput("color", "Point color", value = "blue"),
selectInput("continents", "Continents",
choices = levels(gapminder$continent),
multiple = TRUE,
selected = "Europe"),
sliderInput("years", "Years",
min(gapminder$year), max(gapminder$year),
value = c(1977, 2002))
),
mainPanel(
# Make the plot 600 pixels wide and 600 pixels tall
plotOutput("plot", ___, ___)
)
)
)
# Define the server logic
server <- function(input, output) {
output$plot <- renderPlot({
data <- subset(gapminder,
continent %in% input$continents &
year >= input$years[1] & year <= input$years[2])
p <- ggplot(data, aes(gdpPercap, lifeExp)) +
geom_point(size = input$size, col = input$color) +
scale_x_log10() +
ggtitle(input$title)
if (input$fit) {
p <- p + geom_smooth(method = "lm")
}
p
})
}
shinyApp(ui = ui, server = server)