2012-10-23 11 views
19

C'è un modo semplice per aggiungere etichette di testo ai cerchi sul grafico? Non riesco a farlo usando il pacchetto directlabels perché ottengo l'errore:Aggiunta di etichette di testo a ggplot2 scatterplot

Errore in direct.label.ggplot (p, "first.qp"): colore estetico necessario per inferire le etichette dirette predefinite. "

Ecco il grafico: What I have at the moment

E qui è il codice che ho usato:.

library(ggplot2) 
library(directlabels) 
#my data set: 
oc <- read.csv("http://www.columbia.edu/~mad2200/oc.csv") 
oc$percent_women <- oc$W_employment/(oc$M_employment+oc$W_employment) 
oc$size <- oc$W_employment+oc$M_employment 
p <- ggplot(oc, aes(M_w_earnings, W_w_earnings, label = as.character(Occupational.Group))) 
p + geom_point(aes(size = size, colour=percent_women)) + scale_size_continuous(range=c(0,30)) + #scale_area()+ 
#geom_point(aes(colour = oc$percent_women)) + 
coord_equal() + 
scale_colour_gradient(high = "red")+ 
ylim(700, 1700) + 
xlim(700, 1700) + 
geom_abline(slope=1) + 
labs(title = "Income Disparity by Occupation and Gender") + 
ylab("Women's Weekly Earnings in $") + 
xlab("Men's Weekly Earnings in $") 
+0

Che cosa ha chiesto. E guarda anche a 'geom_text()' in 'ggplot2' per le annotazioni di testo. – Maiasaura

+0

@Maiasaura, penso che voglia annotare l'Occipational.Group (data la definiizione di p) (avevo chiesto quale testo etichettare con) – mnel

risposta

28

Aggiungere geom_text(aes(label=Occupational.Group), size=3) alla trama Avrai bisogno di giocare con le dimensioni però.

enter image description here

+0

Grazie mille! Questo ha funzionato bene. Stavo anche scherzando un po 'con l'aggiunta di geom_dl alla trama e ho ottenuto le etichette, ma ho trovato molto difficile cambiare la dimensione del carattere. Questa è una soluzione molto migliore. –