Indice
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 |
I titoli
Le griglie
Per modificare l'aspetto delle griglie, abbiamo i seguenti argomenti di theme()
:
panel.grid | griglia | element_line() , element_blank() (es.: panel.grid = 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 |
Ad esempio, immaginiamo di voler cambiare il tipo di linea della griglia secondaria, in linea tratteggiata (''element_line(linetype = 2)''), in un grafico di serie storica.
Creiamo il grafico base di una serie storica, e salviamolo come oggetto ''p'':
library(ggfortify) p1 <- AirPassengers %>% autoplot()
Per modificare la griglia, aggiungiamo theme(panel.grid.minor = element_line(linetype = 2))
:
p1 + theme(panel.grid.minor = element_line(linetype = 2))
Per lasciare solo la griglia orizzontale, ed eliminare quella verticale, usiamo element_blank()
sia con panel.grid.major.x
che con panel.grid.minor.x
:
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"))