Intro Thoughts

Status Quo

library(tidyverse)

Experiment

parfumo_data_clean <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/main/data/2024/2024-12-10/parfumo_data_clean.csv')
## Rows: 59325 Columns: 13
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (10): Number, Name, Brand, Concentration, Main_Accords, Top_Notes, Middl...
## dbl  (3): Release_Year, Rating_Value, Rating_Count
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
parfumo_data_clean %>% 
  names()
##  [1] "Number"        "Name"          "Brand"         "Release_Year" 
##  [5] "Concentration" "Rating_Value"  "Rating_Count"  "Main_Accords" 
##  [9] "Top_Notes"     "Middle_Notes"  "Base_Notes"    "Perfumers"    
## [13] "URL"
parfumo_data_clean %>% 
  ggplot() + 
  aes(id = Brand) + 
  ggcirclepack::geom_circlepack(alpha = .6) + 
  ggcirclepack::geom_circlepack_text(check_overlap = T, 
                                     color = "midnightblue") + 
  coord_equal() +
  aes(fill = after_stat(area)) +
  scale_fill_viridis_c(end = .8, option = "magma") +
  ggstamp::theme_void_fill("lavender") +
  aes(id = Release_Year, fill = Release_Year) +
  aes(id = Concentration, fill = after_stat(area)) +
  aes(id = Rating_Value, fill = Rating_Value) + 
  aes(id = Rating_Count, fill = Rating_Count) +
  aes(id = Main_Accords, fill = after_stat(area)) + 
  aes(id = Top_Notes, fill = after_stat(area)) + 
  aes(id = Middle_Notes, fill = after_stat(area)) +
  aes(id = Base_Notes, fill = after_stat(area))
## Warning: Removed 28171 rows containing non-finite outside the scale range
## (`stat_circlepack()`).
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.
## Warning: Removed 28171 rows containing non-finite outside the scale range
## (`stat_circlepackcenter()`).
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.

theme_set(theme_get() + last_plot()$theme)

parfumo_data_clean %>%
ggplot() + 
  aes(x = Release_Year, Rating_Value, size = Rating_Count) + 
  geom_point(alpha = .2) + 
  scale_size(range = c(.5,9)) + 
  theme_bw(ink = "grey18", paper = "lavender")
## Warning: Removed 34977 rows containing missing values or values outside the scale range
## (`geom_point()`).

parfumo_data_clean %>% 
  ggplot() + 
  ggcirclepack::geom_circlepack(alpha = .6) + 
  ggcirclepack::geom_circlepack_text(check_overlap = T, 
                                     color = "midnightblue") + 
  coord_equal() +
  scale_fill_viridis_c(end = .8, option = "magma") +
  ggstamp::theme_void_fill("lavender") +
  aes(id = Main_Accords, fill = after_stat(area))
## Warning: Removed 27100 rows containing non-finite outside the scale range
## (`stat_circlepack()`).
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.
## Warning: Removed 27100 rows containing non-finite outside the scale range
## (`stat_circlepackcenter()`).
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.

last_plot() %+%
  (parfumo_data_clean %>% 
  mutate(Main_Accords = str_split(Main_Accords, ", ")) %>% 
  unnest())
## Warning: `cols` is now required when using `unnest()`.
## ℹ Please use `cols = c(Main_Accords)`.
## Warning: Removed 27100 rows containing non-finite outside the scale range
## (`stat_circlepack()`).
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.
## Warning: Removed 27100 rows containing non-finite outside the scale range
## (`stat_circlepackcenter()`).
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.

parfumo_data_clean %>% 
  filter(n()> 100, .by = Brand) %>% 
  ggplot() + 
  aes(id = Brand) + 
  ggcirclepack::geom_circlepack() + 
  ggcirclepack::geom_circlepack_text()
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.

parfumo_data_clean %>% 
  filter(Release_Year < 1950) %>%
  filter(n()>25, .by = Brand) %>%
  ggplot() + 
  ggcirclepack::geom_circlepack(alpha = .6) + 
  ggcirclepack::geom_circlepack_text(check_overlap = T, 
                                     color = "midnightblue") + 
  coord_equal() +
  scale_fill_viridis_c(end = .8, option = "magma") +
  ggstamp::theme_void_fill("lavender") +
  aes(id = Brand, fill = after_stat(area)) 
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.
## Warning: Unknown or uninitialised column: `area`.
## Warning: Unknown or uninitialised column: `wt`.
## Warning: Unknown or uninitialised column: `within`.

Closing remarks, Other Relevant Work, Caveats