There’s 3 ways with billboarder to pass data to
construct a chart :
data.frame with only variable that need to be
used, typically for a barchart, the first column is used for x-axis, the
second for y-axis.billboarder and use function
bb_aes in a “pipe” flow.bbaes inside chart builder helper such as
bb_barchart, bb_linechart, …We’ll use data about the french electricity production between 2012 and 2016 :
data("prod_par_filiere")
str(prod_par_filiere)
#> 'data.frame':    5 obs. of  11 variables:
#>  $ annee             : chr  "2012" "2013" "2014" "2015" ...
#>  $ prod_total        : num  542 550 540 547 531
#>  $ prod_therm        : num  48.1 43.6 25.9 34.4 45.9
#>  $ prod_hydraulique  : num  63.8 75.5 68.1 59.1 63.9
#>  $ prod_bioenergies  : num  5.8 7.1 7.5 8 8.5
#>  $ prod_eolien       : num  14.9 15.9 17.1 21.1 20.7
#>  $ prod_therm_charbon: num  17.4 19.9 8.4 8.6 7.3
#>  $ prod_solaire      : num  4.1 4.7 5.9 7.4 8.3
#>  $ prod_therm_gaz    : num  24 19.9 14.3 21.9 35.3
#>  $ prod_nucleaire    : num  405 404 416 417 384
#>  $ prod_therm_fioul  : num  6.7 3.8 3.3 3.8 3.3data.frameFor creating this simple barchart, we need to use two columns of our
data.frame
Variable annee is used on the x-axis, and
prod_bioenergies as y values.
This is similar for line chart :
We can pass our data to function billboarder and then
call bb_aes to specify which variable to use :
You don’t have to pass arguments to bb_barchart.
This is the same for line chart :
Mapping can be specified inside the function which specify the type of chart :
billboarder(data = prod_par_filiere) %>% 
  bb_barchart(mapping = bbaes(x = annee, y = prod_bioenergies))The function to map variables is bbaes without
underscore.
For line chart :
Construct a chart with groups differ between the first method and the others. For the first one, data need to be in ‘wide’ format, the other need data in ‘long’ format with a grouping variable.
With ‘wide’ data :
billboarder() %>% 
  bb_barchart(
    data = prod_par_filiere[, c("annee", "prod_bioenergies", "prod_eolien", "prod_solaire", "prod_hydraulique")]
  )with ‘long’ data :
# prepare data
data("prod_filiere_long")
prod_filiere_long <- prod_filiere_long[
  prod_filiere_long$branche %in% c("bioenergies", "eolien", "solaire", "hydraulique"), 
]
head(prod_filiere_long)
#>    annee     branche prod
#> 11  2012 hydraulique 63.8
#> 12  2013 hydraulique 75.5
#> 13  2014 hydraulique 68.1
#> 14  2015 hydraulique 59.1
#> 15  2016 hydraulique 63.9
#> 16  2012 bioenergies  5.8
billboarder(data = prod_filiere_long) %>% 
  bb_barchart(mapping = bbaes(x = annee, y = prod, group = branche))