2013-06-19 4 views
6

Sono novizio a RI sto usando ggplot per visualizzare la trama della barra. Voglio visualizzare la percentuale di cima di ogni barra.Non voglio convertire l'asse y in etichetta percentuale Preferisco visualizzare la frequenza nell'asse ye la percentuale di ogni gruppo in cima alla barra.Come visualizzare l'etichetta percentuale sopra ogni barra

miei dati frammento è

E il mio frammento di output desiderato è

Qualsiasi aiuta sono accolti

+1

Usa 'geom_text' per fare questo, e si prega di aiuto aiutare da noi fornendoci un esempio riproducibile (cioè il codice e dati di esempio), vedi http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-riproducibile-esempio per i dettagli. –

risposta

7

Questo tipo di trama può essere creato facilmente con ggplot2 .

dat <- data.frame(Frequency = c(10, 5, 97, 47, 50), 
        Fruits = gl(5, 1, labels = c("Mango", "Apple", "Orange", 
               "Guava", "Papaya"))) 


library(ggplot2) 
ggplot(dat, aes(x = Fruits, y = Frequency)) + 
    geom_bar(stat = "identity") + 
    geom_text(aes(label = sprintf("%.2f%%", Frequency/sum(Frequency) * 100)), 
      vjust = -.5) 

enter image description here

+0

@ Sven. Non avevo lavorato in ggplot. Dopo aver usato questo pacchetto ho capito che era facile. – stackoverflowuser

+0

@Sven E 'possibile aggiungere un altro grafico con gli stessi livelli ma diverso colore e percentuale come quantità di bersaglio in quella variabile? – Sangram