Guida rapida creazione di un grafico a barre in pila (ggplot2)
Ho i seguenti dati telaio:
> DF
Year Metric MWh
2003 Demand 498343
2004 Demand 1250904
2005 Demand 1665176
2006 Demand 2317643
2007 Demand 2455311
2008 Demand 3557987
2009 Demand 4268125
2010 Demand 5403704
2011 Demand 6596158
2012 Demand 7814387
2013 Demand 9008863
2014 Demand 10291085
2015 Demand 11796549
2003 Actual 159677
2004 Actual 192748
2005 Actual 248844
2006 Actual 372661
2007 Actual 705656
2008 Actual 838721
2009 Actual 1188242
2010 Actual 1708979
2011 Actual 0
2012 Actual 0
2013 Actual 0
2014 Actual 0
2015 Actual 0
2003 High 0
2004 High 0
2005 High 0
2006 High 0
2007 High 0
2008 High 0
2009 High 0
2010 High 0
2011 High 3631730
2012 High 5729024
2013 High 6741785
2014 High 9342798
2015 High 11094798
2003 Low 0
2004 Low 0
2005 Low 0
2006 Low 0
2007 Low 0
2008 Low 0
2009 Low 0
2010 Low 0
2011 Low 1637220
2012 Low 1850615
2013 Low 2064011
2014 Low 2277406
2015 Low 2490801
Voglio creare un semplice grafico a barre in pila con:
— asse x: Anno
— y-asse: MWh
— 1 stack di Domanda, Alto, Basso, e Effettiva (‘Metrica’), in che ordine, impilati uno SOPRA l’altro (come accade per la-top). Finora, ho solo riuscito a capire come fare con i valori impilati l’uno SULL’altro:
DF$'Metric <- factor(DF$'Metric',levels=c("Demand","High","Low","Actual"))
qplot(x=Year,data=DF,geom="bar",weight=MWh,fill=Metric)
#OR
ggplot(DF,aes(x=factor(Year),y=MWh,fill=factor(Metric))) + geom_bar(position="stack")
Essenzialmente, quello che sto cercando è un unico bar all’anno in cui la “Domanda” è il valore più alto, e i valori più bassi (nell’ordine di cui sopra) sono impilati uno sull’. Credo che devo usare un position="fill"
da qualche parte, ma non so dove metterlo. Fondamentalmente, quello che sto cercando di dimostrare è che la Domanda sarà in costante aumento, mentre l’Offerta (Effettivo e proiettata Bassa crescita vs proiettata ad Alta crescita) è stato in grado di soddisfare in modo molto semplice, grafica compatta. Se questo non è possibile, forse sarebbe meglio, semplicemente un gruppo di loro side-by-side?
Qualsiasi aiuto è molto apprezzato!! Grazie!!
position="identity"
.Grazie tanto!!! Questo è esattamente quello che stavo cercando!! Evviva!! ps, come faccio a bandiera la tua risposta con il segno di spunta?
Non è possibile accettare un commento. Ho scritto come risposta.
OriginaleL’autore Ray | 2011-01-26
Io non sono sicuro di ciò che realmente vorrei trama, ma dal
position="fill"
ho l’impressione che si desidera tracciare le proporzioni relative di Metrica all’anno. Questo può essere fatto facilmente attraverso i seguenti.Il caricamento dei dati:
E tracciare il grafico a barre con la stessa altezza (con percentuali):
Potrei frainteso quello che vuoi per la trama, e tracciando due distinte grafico la stessa immagine anche possibile specificare la griglia di layout. Mi consiglia di guardare gridextra pacchetto, soprattutto per
arrange
.OriginaleL’autore daroczig
position="identity"
non spostare le barre a tutti (in contrasto con il difetto di accatastamento), in modo che sarà sovrapposto. Hai bisogno di guardare fuori per l’ordinamento dei livelli di fattore, però, perché in questo modo le barre possono nascondersi dietro l’altra.OriginaleL’autore Aniko