En aquest tema, aprofundirem en les capacitats avançades de ggplot2, una de les biblioteques més potents i flexibles per a la visualització de dades en R. Aprendrem a personalitzar els gràfics, a treballar amb facetes, a utilitzar temes i a crear gràfics complexos.

Continguts

Personalització de Gràfics

1.1. Personalització d'Aixetes i Etiquetes

library(ggplot2)

# Dades d'exemple
data(mpg)

# Gràfic bàsic
p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point()

# Personalització d'aixetes i etiquetes
p + labs(
  title = "Relació entre Desplaçament i Consum en Carretera",
  x = "Desplaçament (litres)",
  y = "Consum en Carretera (mpg)",
  caption = "Font: dades mpg"
)

1.2. Personalització de Colors i Formes

# Gràfic amb personalització de colors i formes
p + geom_point(aes(color = class, shape = drv)) +
  scale_color_brewer(palette = "Set1") +
  scale_shape_manual(values = c(16, 17, 18))

1.3. Personalització de Temes

# Gràfic amb tema personalitzat
p + theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 20, face = "bold"),
    axis.title = element_text(size = 15),
    legend.position = "bottom"
  )

Facetes

2.1. Creació de Facetes

# Gràfic amb facetes per classe de vehicle
p + facet_wrap(~ class)

2.2. Facetes en Graelles

# Gràfic amb facetes en graelles per classe de vehicle i tipus de tracció
p + facet_grid(drv ~ class)

Temes

3.1. Aplicació de Temes Predefinits

# Gràfic amb tema predefinit
p + theme_bw()

3.2. Creació de Temes Personalitzats

# Creació d'un tema personalitzat
my_theme <- theme(
  plot.title = element_text(hjust = 0.5, size = 20, face = "bold"),
  axis.title = element_text(size = 15),
  legend.position = "bottom"
)

# Aplicació del tema personalitzat
p + my_theme

Gràfics Complexos

4.1. Gràfics amb Múltiples Capes

# Gràfic amb múltiples capes
p + geom_point(aes(color = class)) +
  geom_smooth(method = "lm", se = FALSE, color = "black") +
  labs(title = "Relació entre Desplaçament i Consum en Carretera amb Regressió Lineal")

4.2. Gràfics amb Anotacions

# Gràfic amb anotacions
p + geom_point(aes(color = class)) +
  annotate("text", x = 6, y = 40, label = "Punt d'interès", color = "red", size = 5, angle = 45)

Exercicis Pràctics

Exercici 1: Personalització de Gràfics

Descripció: Crea un gràfic de dispersió utilitzant el conjunt de dades mpg. Personalitza les aixetes, les etiquetes, els colors i les formes.

Solució:

library(ggplot2)

# Dades d'exemple
data(mpg)

# Gràfic personalitzat
ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point(aes(color = class, shape = drv)) +
  labs(
    title = "Relació entre Desplaçament i Consum en Carretera",
    x = "Desplaçament (litres)",
    y = "Consum en Carretera (mpg)",
    caption = "Font: dades mpg"
  ) +
  scale_color_brewer(palette = "Set1") +
  scale_shape_manual(values = c(16, 17, 18)) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 20, face = "bold"),
    axis.title = element_text(size = 15),
    legend.position = "bottom"
  )

Exercici 2: Creació de Facetes

Descripció: Utilitza el conjunt de dades mpg per crear un gràfic de dispersió amb facetes per classe de vehicle i tipus de tracció.

Solució:

library(ggplot2)

# Dades d'exemple
data(mpg)

# Gràfic amb facetes
ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point(aes(color = class)) +
  facet_grid(drv ~ class) +
  labs(
    title = "Relació entre Desplaçament i Consum en Carretera per Classe de Vehicle i Tipus de Tracció",
    x = "Desplaçament (litres)",
    y = "Consum en Carretera (mpg)",
    caption = "Font: dades mpg"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 20, face = "bold"),
    axis.title = element_text(size = 15),
    legend.position = "bottom"
  )

Conclusió

En aquest tema, hem explorat les capacitats avançades de ggplot2 per a la personalització de gràfics, la creació de facetes, l'ús de temes i la construcció de gràfics complexos. Aquests coneixements us permetran crear visualitzacions de dades més informatives i atractives. En el proper tema, ens endinsarem en les visualitzacions interactives amb plotly.

Programació en R: De Principiant a Avançat

Mòdul 1: Introducció a R

Mòdul 2: Manipulació de Dades

Mòdul 3: Visualització de Dades

Mòdul 4: Anàlisi Estadística

Mòdul 5: Gestió Avançada de Dades

Mòdul 6: Conceptes Avançats de Programació

Mòdul 7: Aprenentatge Automàtic amb R

Mòdul 8: Temes Especialitzats

Mòdul 9: Projecte i Estudis de Cas

© Copyright 2024. Tots els drets reservats