2012-02-10 16 views
10

Utilizzo di R Vorrei sostituire i punti in un diagramma a dispersione 2D con un grafico a torta che visualizza valori aggiuntivi.R: Come sovrapporre i grafici a torta su "punti" in un grafico a dispersione in R

Il motivo dietro è che ho dati di serie temporali per centinaia di elementi (proteine) derivati ​​da un esperimento biologico monitorato per 4 condizioni. Vorrei tracciare gli elementi (dati categoriali) sull'asse y e il verificarsi di un evento nel tempo sull'asse x. Per visualizzare l'occorrenza relativa tra le 4 condizioni, vorrei visualizzarla sotto forma di grafico a torta o grafico ad anello, sovraimpresso sul rispettivo punto nel grafico a dispersione. La densità complessiva dei dati è bassa, quindi la sovrapposizione non sarà un problema.

E 'possibile in R? Stavo pensando di usare una scala manuale in ggplot2 ma non riuscivo a capire come definire un grafico a torta come scala.

Anche di interesse sarebbe come raggruppare meglio questi dati e ordinarli di conseguenza.

+0

Penso che per farlo in 'ggplot' si dovrebbe scrivere un' geom_pie' - attualmente i grafici a torta in 'ggplot' sono implementati tramite una trasformazione di coordinate, che funziona solo se si desidera tracciare una singola torta per facet ... –

risposta

10

Sì. pieGlyph() è una funzione pronta per l'uso dal pacchetto Rgraphviz.

Inoltre, vorrei controllare questo Q/A per come fare le cose in questo modo, più in generale:

How to fill a single 'pch' point on the plot with two-colours?

Soprattutto check out ?my.symbols dal pacchetto TeachingDemos.

Infine, per quanto riguarda ggplot2, si dovrebbe controllare questo post blog su possibili caratteristiche imminenti:

http://blog.revolutionanalytics.com/2011/10/ggplot2-for-big-data.html

+0

vedi anche 'floating.pie()' nel pacchetto 'plotrix', o prova' library (sos); findFn ("mappa a torta") ' –

+0

@BenBolker Nice! Non conoscevo nessuno di questi, ed entrambi sembrano grandi! Grazie. –

3

Vedi anche Paul Murrell. Integrazione dell'output della griglia grafica con l'output grafico di base. R News, 3 (2): 7-12, ottobre 2003. http://www.r-project.org/doc/Rnews/Rnews_2003-2.pdf

Il codice su pp 10-11 imposta gli assi del plot principale, etichette e legenda, quindi apre una serie di finestre più piccole centrate su ogni singolo puntare sul grafico e traccia un piccolo grafico in ciascuna finestra. Ho provato grafici a torta, mosaici e barattoli, ma il metodo non è limitato a questi tipi.

Problemi correlati