2014-06-13 14 views
12

Sotto codice funziona bene e etichette il barplot correttamente, Tuttavia, se provo geom_text per un istogramma fallisco dal geom_text richiede un componente y ed il componente y di un istogramma è la frequenza che non è mai una parte della codice quindi COME FACCIO a portare le etichette per un istogramma?Come ottenere le etichette dati per un istogramma in ggplot2?

funziona bene

ggplot(csub, aes(x=Year, y=Anomaly10y, fill=pos)) + 
     geom_bar(stat="identity", position="identity") + 
     geom_text(aes(label=Anomaly10y,vjust=1.5)) 

Problem- nessun componente Y (indicata con?) Nel seguente codice per geom_text

ggplot(csub,aes(x=Anomaly10y)) + 
     geom_histogram() 
     geom_text(aes(label=?,vjust=1.5)) 

Con geom predefinita richiede xey componente,

Cosa devo fare quando non ho il componente y in quanto viene generato automaticamente dalla funzione?

risposta

30

geom_histogram() è solo un involucro di fantasia per stat_bin in modo da poter tutto ciò che si è con le barre e il testo che ti piace. Ecco un esempio

#sample data 
set.seed(15) 
csub<-data.frame(Anomaly10y = rpois(50,5)) 

E poi tracciamo con

ggplot(csub,aes(x=Anomaly10y)) + 
    stat_bin(binwidth=1) + ylim(c(0, 12)) + 
    stat_bin(binwidth=1, geom="text", aes(label=..count..), vjust=-1.5) 

per ottenere

labeled univariate ggplot2 barplot

+1

Come nota a margine, l'aggiunta di '+ Limiti (x = c (0, 12)) 'mostrerà l'etichetta per 10. – tonytonov

+1

@tonytonov Avrei dovuto farlo. Sono andato avanti e ho aggiornato l'esempio per estendere l'intervallo in modo da non tagliare le etichette. – MrFlick

+0

Grazie, funziona, tuttavia, lancia un avviso: "ymax non definito: posizione di regolazione usando y invece". – Shoaibkhanz

Problemi correlati