Ricerca Sociale con R

Una wiki per l'analisi dei dati con R

Strumenti Utente

Strumenti Sito


r:ggplot2:modificare_tema

Questa è una vecchia versione del documento!


Modificare gli elementi del tema

Vedi I temi predefiniti (ggplot2)

Per conoscere i valori del tema in uso:

theme_get()

Per modificare un aspetto del tema all'interno del grafico, usiamo la funzione theme():

ggplot(data, aes ...) +
  theme()

ad esempio

  theme(text = element_text(...)

All'interno di theme() possono essere cioè inseriti gli elementi da modificare, indicati nell'aiuto della funzione:

theme(
  line,         # linee
  rect,         # bordi e sfondo
  text,         # testo (formato)
  title,        # titoli (formato)
  aspect.ratio,
...
)

e le funzioni element_() per modificarli:

argomenti
element_text() testo family, size, face,
colour/color,
hjust, vjust (allineamento)
angle, lineheight, margin (angolo, spaziatura e margine)
element_line() linee colour/color, size, linetype, lineend, arrow
element_rect() bordi e sfondi fill, colour/color, size, linetype
element_blank() vuoto

Le griglie

Per modificare l'aspetto delle griglie:

panel.grid griglia, funzione element_line()
panel.grid.major griglia principale
panel.grid.major.x, panel.grid.major.y griglia principale dei singoli assi
panel.grid.minor griglia secondaria
panel.grid.minor.x, panel.grid.minor.y griglia secondaria dei singoli assi

Creiamo il grafico base di una serie storica:

library(ggfortify)
p1 <- AirPassengers %>% 
  autoplot() 

Ad esempio, per cambiare il tipo di linea della griglia secondaria (element_line(linetype = 2), linea tratteggiata):

p1 +
  theme(panel.grid.minor = element_line(linetype = 2))

Per eliminare la griglia verticale:

p1 +
  theme(panel.grid.major.x = element_blank(),
        panel.grid.minor.x = element_blank())

Gli assi

Vedi anche: Assi e unità di misura (ggplot2)

Per eliminare assi e griglia:

theme(axis.text = element_blank(),
      axis.title = element_blank(),
      panel.grid.major = element_blank(),
      panel.grid.minor = element_blank()

Oppure: theme(panel.grid = element_blank())

I caratteri

Tipo di carattere

Per modificare il tipo carattere usato in tutto il grafico:

cars %>% 
  ggplot(aes(speed, dist)) + 
  geom_point() +
  labs(subtitle = "Tema classic con font 'Garamond'",
       title = "Un tema classico") +
  theme_classic() +
  theme(text = element_text(family = "Garamond",
                            size = 14))

Dimensione dei caratteri

Imposto il tema theme_minimal, e la dimensione base del carattere dei grafici a 18:

theme_set(theme_minimal(base_size = 18))

Imposto il tema theme_minimal, e la dimensione base del carattere dei grafici a 18, ma riduco la dimensione delle etichette dell'asse delle x, e della legenda (legend.text = element_text(size = “95%”))

theme_set(theme_minimal(base_size = 18) +
          theme(axis.text.x = element_text(size = 11),
                legend.text = element_text(size = "95%")))

Palette di colori

Per cambiare la paletta di colori all'interno del tema predefinito, interveniamo sulla funzione scale_fill_ …(). Ad esempio:

# per la paletta
library(RColorBrewer)
 
# fill per i caratteri discreti
scale_fill_discrete <- function(...) 
scale_fill_manual(values=brewer.pal(9,"Set1"))
# color per i caratteri discreti
scale_color_discrete <- function(...) 
scale_color_manual(values=brewer.pal(9,"Set1"))

Domande? Scrivimi

Messenger Telegram Email
r/ggplot2/modificare_tema.1639738405.txt.gz · Ultima modifica: 17/12/2021 10:53 da Agnese Vardanega