Skip to contents

Set up an update menu for a plot

Usage

set_updatemenu(buttons, selected = NULL, position = "topleft", opacity = 0.9)

Arguments

buttons

A column from param "d" of call to roboplot() that will be used to create the buttons in the update menu. If the column is not a factor, it will be converted to one.

selected

The default selected button. Default is the first level of buttons.

position

The position of the update menu. Default is "topleft". Options are "topleft", "topright", "bottomleft", "bottomright".

opacity

The opacity of the update menu background. Default is 0.9.

Value

A list of class roboplotr.set_updatemenu that can be passed to the updatemenu parameter of roboplot().

Examples

# For a long list of legend items, use `set_updatemenu()`.
energiantuonti |> roboplot(color = Suunta, updatemenu = set_updatemenu(Alue))
# Control position and default selection energiantuonti |> roboplot(color = Suunta, updatemenu = set_updatemenu(Alue, selected = "Ruotsi", position = "topright"))
# `roboplot()` uses the `subtitle` parameter for hovertext unit labeling. If # your updatemenu refers various units, you need to pass the correct labeling # with `set_hovertext()`. energiantuonti |> dplyr::filter(Alue %in% c("USA", "EU-maat", "Belgia", "Ruotsi")) |> dplyr::group_by(Alue, Suunta) |> dplyr::mutate(indeksi = value / mean(value[lubridate::year(time) == 2015]) * 100, Suunta = tolower(Suunta)) |> dplyr::ungroup() |> tidyr::pivot_longer(c(value, indeksi), names_to = "Tiedot") |> dplyr::mutate(Tiedot = ifelse(Tiedot == "value", "Arvo", "Indeksi (2015 = 100)")) |> tidyr::drop_na() |> dplyr::mutate(hoverlabel = stringr::str_glue("{Alue}, {Suunta}\n{Tiedot}")) |> roboplot( Alue, "Energiantuonti", pattern = set_pattern(Suunta, sep = ": "), updatemenu = set_updatemenu(Tiedot, position = "topright"), hovertext = set_hovertext(unit = "", text_col = hoverlabel) )