Questo è correlato a un'altra domanda: Plot weighted frequency matrix.Grafico heatmap di probabilità/hexbin con contenitori di dimensioni diverse
ho questa grafica (prodotta dal codice di seguito in R):
#Set the number of bets and number of trials and % lines
numbet <- 36
numtri <- 1000
#Fill a matrix where the rows are the cumulative bets and the columns are the trials
xcum <- matrix(NA, nrow=numbet, ncol=numtri)
for (i in 1:numtri) {
x <- sample(c(0,1), numbet, prob=c(5/6,1/6), replace = TRUE)
xcum[,i] <- cumsum(x)/(1:numbet)
}
#Plot the trials as transparent lines so you can see the build up
matplot(xcum, type="l", xlab="Number of Trials", ylab="Relative Frequency", main="", col=rgb(0.01, 0.01, 0.01, 0.02), las=1)
Mi molto simile al modo in cui questa trama è costruito e mostra i percorsi più frequenti come più scuro percorsi rare (ma non è abbastanza chiaro per una presentazione di stampa). Quello che mi piacerebbe fare è produrre una sorta di hexbin o heatmap per i numeri. Su pensarci, sembra che la trama dovrà integrare diversi bidoni di dimensioni (vedere la schiena del disegno busta):
La mia domanda allora: Se io simulare un milione viene eseguito utilizzando il codice sopra, come posso presentarlo come heatmap o hexbin, con i raccoglitori di dimensioni diverse come mostrato nello schizzo?
Per chiarire: non voglio fare affidamento sulla trasparenza per mostrare la rarità di un processo che passa attraverso una parte della trama. Invece vorrei denotare rarità con il calore e mostrare un percorso comune come caldo (rosso) e un percorso raro come freddo (blu). Inoltre, non credo che i contenitori debbano essere della stessa dimensione perché il primo processo ha solo due posti in cui il percorso può essere, ma l'ultimo ne ha molti altri. Da qui il fatto che ho scelto una scala bin cambiante, basata su questo fatto. In sostanza sto contando il numero di volte in cui un percorso passa attraverso la cella (2 in col 1, 3 in col 2 ecc.) E quindi coloriamo la cella in base a quante volte è stata passata.
AGGIORNAMENTO: Ho già avuto una trama simile a @Andrie, ma non sono sicuro che sia molto più chiara della trama principale. È la natura discontinua di questo grafico, che non mi piace (e perché voglio una specie di mappa termica). Penso che poiché la prima colonna ha solo due valori possibili, che non ci dovrebbe essere un enorme divario visivo tra di loro ecc. Ecc. Quindi perché ho immaginato i contenitori di dimensioni diverse. Sento ancora che la versione binning mostrerebbe meglio un gran numero di campioni.
Aggiornamento: Questa website delinea una procedura per tracciare una mappa termica:
per creare una versione densità (heatmap) trama di questo dobbiamo elencare in modo efficace il verificarsi di questi punti in ogni posizione discreta nell'immagine. Ciò avviene impostando una griglia e contando il numero di volte in cui una coordinata di punti "cade" in ciascuno dei "bin" di pixel individuali in ogni posizione in quella griglia.
Forse alcune delle informazioni su tale sito Web possono essere combinate con ciò che abbiamo già?
Aggiornamento: Ho preso un po 'di quello che Andrie scritto con alcune di queste question, per arrivare a questo, che è abbastanza vicino a quello che concepivo:
numbet <- 20
numtri <- 100
prob=1/6
#Fill a matrix
xcum <- matrix(NA, nrow=numtri, ncol=numbet+1)
for (i in 1:numtri) {
x <- sample(c(0,1), numbet, prob=c(prob, 1-prob), replace = TRUE)
xcum[i, ] <- c(i, cumsum(x)/cumsum(1:numbet))
}
colnames(xcum) <- c("trial", paste("bet", 1:numbet, sep=""))
mxcum <- reshape(data.frame(xcum), varying=1+1:numbet,
idvar="trial", v.names="outcome", direction="long", timevar="bet")
#from the other question
require(MASS)
dens <- kde2d(mxcum$bet, mxcum$outcome)
filled.contour(dens)
io non capisco che cosa è andando avanti, ma questo sembra essere più simile a quello che volevo produrre (ovviamente senza i bidoni di dimensioni diverse).
Aggiornamento: questo è simile agli altri grafici qui.E non è giusto:
plot(hexbin(x=mxcum$bet, y=mxcum$outcome))
ultimo tentativo. Come sopra:
image(mxcum$bet, mxcum$outcome)
Questo è abbastanza buono. Vorrei solo che assomigliasse al mio schizzo disegnato a mano.
Così, nel disegno, sarebbe in alto a destra essere tutto blu dissolvenza in rosso in basso verso a sinistra e in basso a destra? –
@Brandon Essenzialmente sì. Ho appena provato un modello, ma non sono un artista (né un matematico). Proverò a mostrare ciò che vorrei. –
la tua domanda sembra carina :) – polerto