2011-08-21 14 views
11

Ho un grafico utilizzare il pacchetto di grafica di base. Per le etichette su punti specifici usoCome cambiare la famiglia di caratteri in una legenda in una trama R?

text(i, MSSAcar$summary[i,7]+.7, qld$LGA[i], 
    col='red', cex=.7, family='serif') 

Ho anche usato questo nel grafico per i titoli principali e le etichette degli assi. Tutti escono come previsto.

Quando aggiungo una legenda, non riesco a impostare la famiglia di caratteri.

Qualcuno può aiutare per favore.

Grazie.

risposta

18

Impostare il parametro di stampa family prima di chiamare legend() sul valore desiderato. Fatelo tramite una chiamata esplicita a par(). Ecco un semplice esempio

x <- y <- 1:10 
plot(x, y, type = "n") 
text(x = 5, y = 5, labels = "foo", family = "serif") 

## set the font family to "serif" 
## saving defaults in `op` 
op <- par(family = "serif") 

## plot legend as usual 
legend("topright", legend = "foo legend", pch = 1, bty = "n") 

## reset plotting parameters 
par(op) 

Davvero, si potrebbe cambiare family prima di fare la prima chiamata a plot() e lasciare fuori l'argomento family = "serif" nella chiamata a text(). L'impostazione tramite par() è globale per il dispositivo corrente, utilizzando i parametri all'interno delle chiamate di funzione locale a quella chiamata.

Il codice precedente produce: use of family with legend

+2

Cheers mate, sei un _legend_! – John

Problemi correlati