2014-09-04 20 views
55

Sto tentando di creare un diagramma a barre in cui la trama è ordinata dallo miRNA con il valore massimo value allo miRNA con il valore più basso. Perché il mio codice non funziona?Riordina barre in geom_bar ggplot2

> head(corr.m) 

     miRNA   variable value 
1 mmu-miR-532-3p  pos  7 
2 mmu-miR-1983  pos 75 
3 mmu-miR-301a-3p  pos 70 
4 mmu-miR-96-5p  pos  5 
5 mmu-miR-139-5p  pos 10 
6 mmu-miR-5097  pos 47 

ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + 
    geom_bar(stat="identity") 

risposta

103

Il codice funziona correttamente, tranne che il barattolo è ordinato dal basso verso l'alto. Quando si desidera ordinare le barre da alto a basso, si dovrà aggiungere un segno - prima value:

ggplot(corr.m, aes(x = reorder(miRNA, -value), y = value, fill = variable)) + 
    geom_bar(stat = "identity") 

che dà:

enter image description here

+0

non venga ordinato nel mio appezzamento per qualche motivo – user3741035

+0

@ user3741035 Strano. Lo hai usato sul set di dati campione che hai fornito sopra o sull'intero dataset? – Jaap

+0

intero set di dati. modifica: non ha funzionato sul campione – user3741035

Problemi correlati