2010-03-08 2 views
10

Voglio tracciare istogrammi impilati in R; ad esempio impilare singoli istogrammi nella terza dimensione.Come si traccia un istogramma 3D impilato in R?


grazie a tutti per i suggerimenti, in particolare quello di Shane.

@hadley, sono d'accordo con i tuoi punti, tuttavia, la mia situazione è diversa: il punto principale che sto cercando di trasmettere tracciando quattro istogrammi impilati è che le code variano in modo significativo .... la parte che verrà oscurata non ha importanza nei dati che sto presentando .... inoltre, essere in grado di leggere l'asse delle frequenze non è importante dato che tratterò le relative frequenze ...

risposta

6

Si potrebbe provare a utilizzare sia rgl (see here) o 3dscatterplot (come in this example). Lattice supporta anche questo:

library(lattice) 
library(latticeExtra) 
?panel.3dbars 

Si può vedere un esempio di questo on the Learnr blog.

Non credo che sia tecnicamente un istogramma impilato (un istogramma impilato impila le barre uno sopra l'altro). Inoltre, un diverso tipo di istogramma potrebbe essere più informativo: vedi the ggplot2 the documentation here per alcuni esempi.

hist_cut <- ggplot(diamonds, aes(x=price, fill=cut)) 
hist_cut + geom_bar() # defaults to stacking 

Un'altra opzione è quella di utilizzare latticing invece, con facet_wrap in ggplot2 (vedi this post as an example).

8

Uno no. Questa è una visualizzazione di dati terribile perché gli istogrammi anteriori oscurano gli istogrammi posteriori e la prospettiva rende quasi impossibile leggere i valori dall'asse y.

+1

Sono d'accordo anche al 100%: detto, come ha detto Duncan Murdoch in diverse occasioni, se si userà una trama 3D come questa, allora usare il pacchetto 'rgl' in modo che sia interattivo possa aiutare a affrontare alcune di queste preoccupazioni. La rotazione della trama può ridurre l'effetto oscurante. – Shane

+0

Tranne nei casi in cui gli istogrammi anteriori non oscurano gli istogrammi posteriori e la prospettiva rende tutto assolutamente chiaro – Pete

+0

Gli istogrammi affiancati sarebbero il modo giusto per confrontare gli istogrammi (consultare http://stackoverflow.com/questions/16273724/side -by-side-histograms-in-the-same-graph-in-r)? – tucson