library(dplyr)
shinyServer(function(input, output, session) {
# Provide explicit colors for regions, so they don't get recoded when the
# different series happen to be ordered differently from year to year.
# http://andrewgelman.com/2014/09/11/mysterious-shiny-things/
defaultColors <- c("#3366cc", "#dc3912", "#ff9900", "#109618", "#990099", "#0099c6", "#dd4477")
series <- structure(
lapply(defaultColors, function(color) { list(color=color) }),
names = levels(data$Region)
)
yearData <- reactive({
# Filter to the desired year, and put the columns
# in the order that Google's Bubble Chart expects
# them (name, x, y, color, size). Also sort by region
# so that Google Charts orders and colors the regions
# consistently.
df <- data %>%
filter(Year == input$year) %>%
select(Country, Health.Expenditure, Life.Expectancy,
Region, Population) %>%
arrange(Region)
})
output$chart <- reactive({
# Return the data and options
list(
data = googleDataTable(yearData()),
options = list(
title = sprintf(
"Health expenditure vs. life expectancy, %s",
input$year),
series = series
)
)
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.