2011-12-11 15 views
8

Sono bloccato su un piccolo problema di etichettatura con una serie di istogrammi polari realizzati in ggplot2 (circoscrizione? Come vengono chiamati questi elementi?).Regolazione della posizione delle etichette di testo nell'istogramma coord_polar()

Ecco un esempio semplificato di come i dati e l'aspetto grafico:

df <- data.frame(Attribute1=10, Attribute2=1, Attribute3=2, Attribute4=6, Attribute5=7) 
g <- ggplot(melt.data.frame(df), aes(x=variable, y=value, fill=variable, label=value)) 
g <- g + geom_bar() + geom_text() + coord_polar() 
g 

che dà il seguente grafico: polar histogram example

Vorrei spostare il testo etichette verso l'esterno (lontano dal centro).

Normalmente, sarebbe regolare la posizione con hjust o vjust all'interno geom_text(), ma sembra che, con coord_polar(), il risultato è quello di spostare tutte le etichette alto/verso il basso o verso sinistra/verso destra, ma non in/verso l'esterno.

Questo può sembrare banale, e probabilmente lo è, ma non ho ancora trovato esempi o soluzioni applicabili, quindi mi scuso se questa domanda sembra sciocca.

risposta

11

Suppongo che tu stia facendo riferimento ai valori numerici come etichette e che desideri spostarli un po 'al di fuori delle fette di torta (diversamente dal testo "Attributo 1").

Si può solo spostare alcuni della mappatura estetica alla chiamata geom_text e aggiungere un piccolo valore ai valori y:

g <- ggplot(melt.data.frame(df), aes(x=variable, y=value, fill=variable)) 
g <- g + geom_bar() + geom_text(aes(y = value + 0.5,label = value)) + coord_polar() 
g 

enter image description here

Problemi correlati