Jest to związane z innym pytaniem: Plot weighted frequency matrix.Prawdopodobieństwo wydruku wykresu cieplnego/heksabina o różnych rozmiarach pojemników
mam tej grafiki (produkowany przez poniższy kod w 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)
Bardzo podoba mi się sposób, że ta działka jest zbudowany i pokazuje częstszych ścieżki jako ciemniejszy niż rzadszych ścieżek (ale nie jest to wystarczająco jasne dla prezentacji drukowanej). To, co chciałbym zrobić, to wyprodukować jakiś hexbina lub mapę cieplną dla liczb. Na myśl o tym, wydaje się, że fabuła będzie musiał zawierać różne wielkości pojemniki (patrz moje plecy szkicu koperty):
Moje pytanie to: Gdybym symulować milion działa przy użyciu kodu powyżej, jak mogę przedstawić go jako mapę cieplną lub hexbina, z pojemnikami o różnych rozmiarach, jak pokazano na szkicu?
Wyjaśnienie: Nie chcę polegać na przejrzystości, aby pokazać rzadkość procesu przechodzącego przez część fabuły. Zamiast tego chciałbym wskazać rzadkość na ciepło i pokazać wspólną ścieżkę jako gorącą (czerwony) i rzadką ścieżkę jako zimną (niebieską). Ponadto, nie sądzę, że beczki powinny być tej samej wielkości, ponieważ pierwsza próba ma tylko dwa miejsca, w których może być ścieżka, ale ostatnia ma wiele innych. Stąd fakt, że wybrałem zmianę skali bin, w oparciu o ten fakt. Zasadniczo liczę, ile razy ścieżka przechodzi przez komórkę (2 w kol. 1, 3 w kol. 2 itd.), A następnie koloruje komórkę w zależności od tego, ile razy została przepuszczona.
AKTUALIZACJA: Miałem już fabułę podobną do @Andrie, ale nie jestem pewien, czy jest ona o wiele jaśniejsza niż górna fabuła. Jest to nieciągły charakter tego wykresu, którego nie lubię (i dlaczego potrzebuję jakiejś mapy cieplnej). Myślę, że dlatego, że pierwsza kolumna ma tylko dwie możliwe wartości, że nie powinno być między nimi olbrzymiej luki wizualnej itp. Dlatego też przewidziałem różne wielkości pojemników. Nadal uważam, że wersja binningowa pokazałaby większą liczbę próbek.
Aktualizacja: To website przedstawia procedurę wykreślić mapę cieplną:
stworzenie wersji gęstości (termiczna) fabuły tego mamy skutecznie wyliczyć występowania tych punktów na siebie dyskretna lokalizacja na obrazie. Odbywa się to poprzez ustawienie siatki w górę i zliczanie ile razy współrzędne punktu "spadają" do każdego z poszczególnych "pól" piksela w każdym miejscu w tej siatce.
Być może niektóre informacje na tej stronie można łączyć z tym, co już mamy?
Aktualizacja: Wziąłem niektóre co Andrie napisał jedne z tym question, aby dojść do tego, co jest dość blisko do tego, co było poczęcie:
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)
ja nie bardzo rozumiem, co jest dzieje się tak, ale wydaje mi się, że jest to bardziej to, co chciałem wyprodukować (oczywiście bez pojemników o różnych rozmiarach).
Aktualizacja: To jest podobne do innych działek tutaj.To nie jest całkiem w porządku:
plot(hexbin(x=mxcum$bet, y=mxcum$outcome))
Ostatnia próba. Jak wyżej:
image(mxcum$bet, mxcum$outcome)
To jest całkiem dobry. Chciałbym, żeby wyglądał jak mój ręcznie narysowany szkic.
Więc na rysunku, to górny prawy być cały niebieski przechodzący w czerwień w oddolne w lewo i w prawym dolnym rogu? –
@Brandon Zasadniczo tak. Właśnie próbowałem makiety, ale nie jestem artystą (ani matematykiem). Spróbuję i pokażę, co bym chciał. –
twoje pytanie wygląda ładnie :) – polerto