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
<Kurs>Fallstudien: Webanwendungen mit Shiny in R erstellen</Kurs>Übungsanweisungen
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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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)