Annotazioni (text e mtext)
text
Con la funzione text
è possibile aggiungere del testo libero all'interno del grafico. Tipicamente, questa funzione viene utilizzata per aggiungere etichette ai punti di uno Scatterplot (grafico a dispersione), o le etichette dei valori delle variabili rappresentate dal grafico.
Funzione
text(x, y = NULL, labels = seq_along(x), adj = NULL, pos = NULL, offset = 0.5, cex = 1, col = NULL, font = NULL, ...)
Parametri
x , y | coordinate del testo |
labels | testo o testi da inserire |
adj | allineamento del testo |
pos | Posizione del testo rispetto al punto indicato dalle coordinate: 1 = sotto, 2 = a sinistra, 3 = sopra , 4 = a destra. Se specificato prevale su adj |
offset | se pos è indicato, distanza delle etichette dal punto delle coordinate in frazioni delle dimensioni del carattere (default=0.5) |
cex | dimensione del carattere in termini proporzionali |
col | colore del carattere |
font | carattere |
Per la sintassi dei parametri, vedi Parametri grafici
Esempi
Esempio 1
Scatterplot con identificativi dei punti:
plot(cars$speed, cars$dist, pch = 21, bg = "black") text( x = cars$speed, y = cars$dist, row.names(cars), cex = 0.6, pos = 2, col = "red" )
nel comando text
:
- i vettori delle coordinate dei punti sono le variabili (
cars$speed
ecars$dist
) - il vettore con le etichette dei punti è l'identificativo di riga del dataset (
row.names(cars)
)
Naturalmente, è possibile utilizzare come vettore delle etichette dei punti anche un fattore (o un vettore numerico) del dataset.
Esempio 2
In un grafico a barre, è necessario indicare le coordinate delle barre: solitamente, del loro punto centrale (x
) e della loro altezza (y
).
# dati require(car) # frequenze tab <- table(SLID$language) # coordinate del punto centrale delle barre coordx <- barplot(tab, names.arg = c("Inglese", "Francese", "Altro")) # etichette text(x = coordx, y = tab / 2, # altezza = al centro della barra labels = tab) # valori
Esempio 3
Grafico a barre bivariato, con percentuali, in grassetto.
# frequenze tab <- table(SLID$language, SLID$sex) # coordinate del punto centrale delle barre coordx <- barplot(tab, beside = T, names.arg = c("Donne", "Uomini")) # legenda legend("topright", legend = c("Inglese", "Francese", "Altro"), fill = gray.colors(3)) # percentuali di colonna labs <- round(prop.table(tab, 2) * 100, 1) # etichette text(x = coordx, y = 150, labels = paste(labs, "%", sep = ""), # aggiunge % dopo il valore font = 2) # grassetto
Esempio 4
Grafico a torta con etichette dei valori. Vedi: Grafici a torta.
Script di esempio (download)
- Etichette.R
# ESEMPIO 1 plot(cars$speed, cars$dist, pch = 21, bg = "black") text( x = cars$speed, y = cars$dist, row.names(cars), cex = 0.6, pos = 2, col = "red" ) # ESEMPIO 2 # dati require(car) # frequenze tab <- table(SLID$language) # coordinate del punto centrale delle barre coordx <- barplot(tab, names.arg = c("Inglese", "Francese", "Altro")) # etichette text(x = coordx, y = tab / 2, # altezza = al centro della barra labels = tab) # valori # ESEMPIO 3 # frequenze tab <- table(SLID$language, SLID$sex) # coordinate del punto centrale delle barre coordx <- barplot(tab, beside = T, names.arg = c("Donne", "Uomini")) # legenda legend("topright", legend = c("Inglese", "Francese", "Altro"), fill = gray.colors(3)) # percentuali di colonna labs <- round(prop.table(tab, 2) * 100, 1) # etichette text(x = coordx, y = 150, labels = paste(labs, "%", sep = ""), # aggiunge % dopo il valore font = 2) # grassetto # rimuovere gli oggetti creati rm(coordx, labs, tab)
mtext
da inserire