Dades

Començarem carregant les dades per a les tres visualitzacions a l’inici. A més, veurem una petita mostra de les dades com a referència.

Dades per al Treemap

Carreguem i mostrem les dades per al Treemap. En aquestes dades podrem observar el PiB de l’any 2022 d’una gran quantitat de països del món. Ens interessa també que contenen la informació del continent.

# Llegim el conjunt de dades per al Treemap
dataset_tm <- read_excel("PiB_2022_paisos.xlsx")

kable(head(dataset_tm),
      caption = "Informació del PiB del 2022 per països") %>%
  kable_styling(full_width = FALSE, 
                position = "left", 
                bootstrap_options = c("striped", "hover", "condensed"))
Informació del PiB del 2022 per països
Country Code Continent 2022
Aruba ABW North America 3279343544
Afganistán AFG Asia 14497243872
Angola AGO Africa 104399746853
Albania ALB Europe 19017244117
Andorra AND Europe 3380612573
Emiratos Árabes Unidos ARE Asia 502731935194

Dades per al Nightingale Chart

Carreguem i mostrem les dades per al Nightingale Chart. En aquestes dades podrem observar l’energia venuda (GWh) amb origen tecnologies renovables, l’any 2024. Ens interessa el fet que conté la data a nivell de mesos i seguidament trobem la tecnologia.

# Llegim el conjunt de dades per al Nightingale Rose
dataset_nr <- read_excel("energies_renovables_consum_2024.xlsx")

kable(head(dataset_nr),
      caption = "Consum d'energies renovables l'any 2024") %>%
  kable_styling(full_width = FALSE, 
                position = "left", 
                bootstrap_options = c("striped", "hover", "condensed"))
Consum d’energies renovables l’any 2024
Data Tecnologia Energia Venuda (GWh) Potencia Instalada (MW) Energia_Venuda Potencia_Instalada
Gener Eòlica 56704427 306053379.00 56704427 306053379.00
Gener Hidràulica 6008011 21476132.00 6008011 21476132.00
Gener Solar FV 18911893 246795364.00 18911893 246795364.00
Gener Solar TE 951551 2299.42 951551 2299.42
Febrer Eòlica 68931877 306306379.00 68931877 306306379.00
Febrer Hidràulica 5082303 21476132.00 5082303 21476132.00

Dades per al Connected Scatterplot

Carreguem i mostrem les dades per al Connected Scatterplot. En aquestes dades podrem observar estadístiques bàsiques del F. C. Barcelona per a cadascún dels partits de la temporada passada (2024-2025). Ens interessarà saber la jornada i a nivell de dades els gols a favor, en contra i la possessió per partit.

# Llegim el conjunt de dades per al Connected Scatterplot
dataset_cs <- read_excel("20242025_estadistiques_fc_barcelona.xlsx")

kable(head(dataset_cs),
      caption = "Estadístiques bàsiques per partit del F.C. Barcelona per a la temporarda 2024-2025") %>%
  kable_styling(full_width = FALSE, 
                position = "left", 
                bootstrap_options = c("striped", "hover", "condensed"))
Estadístiques bàsiques per partit del F.C. Barcelona per a la temporarda 2024-2025
Date Round Day Venue Result GF GA Opponent xG xGA Poss Attendance Captain Formation Opp Formation Referee
2024-08-17 Jornada 1 Sat Away W 2 1 Valencia 3.2 1.0 63 46673 Marc-André ter Stegen 4-2-3-1 37350 Jose Maria Sánchez
2024-08-24 Jornada 2 Sat Home W 2 1 Athletic Club 1.8 1.0 64 46448 Marc-André ter Stegen 4-2-3-1 4-2-3-1 Jesús Gil
2024-08-27 Jornada 3 Tue Away W 2 1 Rayo Vallecano 1.4 0.4 64 14031 Marc-André ter Stegen 4-2-3-1 37350 César Soto
2024-08-31 Jornada 4 Sat Home W 7 0 Valladolid 4.7 0.5 70 44359 Marc-André ter Stegen 37684 4-1-4-1 Isidro Díaz de Mera
2024-09-15 Jornada 5 Sun Away W 4 1 Girona 1.9 1.3 55 13891 Marc-André ter Stegen 4-2-3-1 4-2-3-1 Alejandro Muñíz
2024-09-22 Jornada 6 Sun Away W 5 1 Villarreal 3.9 2.2 63 22048 Marc-André ter Stegen 37684 37350 Mateo Busquets

Treemap

Construcció i visualització del Treemap.

# Construim el treemap
treemap(
  dtf = dataset_tm,
  index = c("Continent", "Country"),             # Nivells de jerarquia
  vSize = "2022",                                # Mida del rectangle
  type = "index",                                # Tipus de coloració
  palette = "Set1",
  fontsize.labels = c(14, 10),
  align.labels = list(
    c("center", "center"),   # nivell 1: Continent
    c("right", "bottom")    # nivell 2: Country
  ),
  title = "Treemap: Distribució del PiB per País i Continent l'any 2022"
)

# Afegim un caption
grid.text(
  label = "Font: Dades reals de https://data.worldbank.org/ per a l'any 2022. Gràfic amb treemap.",
  x = 0.95,
  y = 0.00, 
  just = c("right", "bottom"),
  gp = gpar(fontsize = 8, col = "gray50") 
)


Nightingale Chart

Construcció i visualització del Nightingale Chart.

# Modifiquem el dataset i mantenim l'ordre dels mesos
dataset_nr <- dataset_nr %>%
  mutate(
    Data = factor(Data, levels = unique(Data)),
    Tecnologia = as.factor(Tecnologia)
  )

# Construim el Nightingale Rose Chart
ggplot(dataset_nr, aes(x = Data, y = Energia_Venuda, fill = Tecnologia)) +
  
  # Primer com a gràfic de barres
  geom_bar(stat = "identity", width = 1, color = "white") +
  
  # Passem a coordenades polars
  coord_polar(start = 0) +
  
  # Títols i Estil
  theme_minimal() +
  labs(
    title = "Nightingale Chart: 
    Energia renovable venuda (GWh) per mes (2024)",
    x = "",
    y = "",
    fill = "Tecnologia",
    caption = "Font: Dades reals de https://data.cnmc.es/ per a l'any 2024. Gràfic amb ggplot2."
  ) +
  theme(
    axis.text.x = element_text(size = 9, face = "bold"),
    axis.text.y = element_blank(),
    panel.grid = element_blank(),
    plot.title = element_text(hjust = 0.5, face = "bold", size = 14),
    plot.caption = element_text(size = 8, color = "grey60")
  )


Connected Scatterplot

Construcció i visualització del Connected Scatterplot.

# Calculem la diferència de gols acumulada
dataset_cs <- dataset_cs %>%
  mutate(
    Diferencia_Gols_Partit = GF - GA,
    Diferencia_Gols_Acumulada = cumsum(Diferencia_Gols_Partit)
  )

# Construim el Connected Scatterplot
ggplot(dataset_cs, aes(x = Poss, y = Diferencia_Gols_Acumulada)) +
  
  # Línia: connecta els punts en l'ordre de la Jornada
  geom_path(aes(group = 1), 
            arrow = arrow(length = unit(0.3, "cm"), ends = "last", type = "closed"), 
            color = "#A50044", size = 1) +
  
  # Línia de Referència (Zero) per a la Diferència de Gols
  geom_hline(yintercept = 0, linetype = "dashed", color = "grey50") +
  
  # Punts: les observacions (Jornades)
  geom_point(color = "#004D98", size = 3, alpha = 0.8) +
  
  # Etiquetes: per identificar cada punt (Jornada)
  geom_text(aes(label = Round), 
            vjust = -1.5, hjust = 0.5, size = 3.5, color = "black") +
  
  # Títols i Estil
  labs(
    title = "Trajectòria del Barça (2024-2025): Gols Acumulats vs. Possessió",
    subtitle = "Diferència de Gols Acumulada (Y) vs. Possessió del Partit (X) al llarg de la temporada",
    x = "Possessió del Partit (%)", 
    y = "Diferència de Gols Acumulada",
    caption = "Font: Dades reals de FBref.com per a la temporada 24-25 (38 Jornades). Gràfic amb ggplot2."
  ) +
  
  theme_minimal() +
  theme(
    plot.title = element_text(face = "bold", size = 16, hjust = 0.5),
    plot.subtitle = element_text(hjust = 0.5),
    plot.caption = element_text(size = 8, color = "grey60")
  )