Flourish primarily depends on two main functions in R/Python. They
are flourish
and a bind_..._data()
function.
The ...
depends on the chart type. An R user can specify
their preferred chart type and bind data columns to the graph. In R, A
list of Flourish functions can be found by running
flourishcharts::
, typing ?flourishcharts
in
your console, or heading over to the references page in this site.
The following chunks show some example charts using Gapminder data, with my accompanying notes.
The flourishcharts
package provides the data
flourish_api_documentation
frame with metadata about each
graph (template ID, version, a simplified chart name for end users, and
a URL to Flourish’s API documentation).
## template_name chart_type
## 1 audio audio
## 2 bar chart race bar_race
## 3 bubble chart bubble
## 4 calculator calculator
## 5 cards cards
## 6 chord diagram chord_diagram
## url
## 1 https://app.flourish.studio/@flourish/audio/1.6.0#api
## 2 https://app.flourish.studio/@flourish/bar-chart-race/16.1.2#api
## 3 https://app.flourish.studio/@flourish/bubble-chart/3.1.2#api
## 4 https://app.flourish.studio/@flourish/calculator/1.7.1#api
## 5 https://app.flourish.studio/@flourish/cards/11.1.2#api
## 6 https://app.flourish.studio/@flourish/chord-diagram/8.6.1#api
flourishcharts
works by requiring two functions to plot
Flourish graphs:
flourish()
in R or Flourish()
in Python:
chart_type
(mandatory arg) – a string
that must match a value in
flourish_api_documentation["chart_type"]
.api_key
(mandatory arg) – Flourish API
key, defaults to Sys.getenv("FLOURISH_API_KEY")
or
os.environ.get("FLOURISH_API_KEY")
.chart_description
(optional arg) – a
string with the chart description for screen readers.And secondly, a binding data function which performs the same function as in flourish.studio, whereby the user matches data columns to the graph properties.
To start with, a scatter plot is laid out as follows. If a user wants
to add additional details they can by running
set_..._details()
–in this case,
set_scatter_details()
.
Each function argument pipes into the other and takes on the
additional arguments to the graph. The pipe can be the base pipe
|>
or the maggrittr pipe %>%
. In Python,
users can append new functions to the assigned graph.
line_data <- gapminder |>
filter(country %in% c(
"Australia",
"New Zealand",
"United States",
"Rwanda",
"Sierra Leone",
"Indonesia",
"Brazil"
)) |>
select("country", "year", "lifeExp") |>
pivot_wider(id_cols = "year", names_from = "country", values_from = "lifeExp")
line_chart <- flourish(
chart_type = "line"
) |>
bind_line_bar_pie_data(
data = line_data,
label = "year",
value = colnames(line_data[, c(2:8)])
) |>
set_line_bar_pie_details(
chart_layout_title = "Life expectancy from the 1950s to 2007",
chart_layout_subtitle = "Selected countries include Australia, New Zealand, the US, Rwanda, Indonesia, Sierra Leone, and Brazil."
)
line_chart
bcr_data <- gapminder |>
filter(country %in% c(
"Australia",
"New Zealand",
"United States",
"Rwanda",
"Sierra Leone",
"Indonesia",
"Brazil"
)) |>
select(c("country", "continent", "year", "lifeExp")) |>
pivot_wider(id_cols = c("country", "continent"), names_from = "year", values_from = "lifeExp")
bcr <- flourish("bar_race") |>
bind_bar_chart_race_data(
data = bcr_data,
label = "country",
values = colnames(bcr_data[, c(3:14)]),
category = "continent"
) |>
set_bar_chart_race_details(
chart_layout_title = "Life expectancy from the 1950s to 2007",
chart_layout_subtitle = "Selected countries include Australia, New Zealand, the US, Rwanda, Indonesia, Sierra Leone, and Brazil."
)
bcr