Frage

Ich möchte Datensatz 1 und Datensatz 2 in einer vertikalen Darstellung darstellen.Leider sind die Daten sehr umfangreich, es handelt sich also nur um einen verwischten Punkt und die Dichte lässt sich nicht erkennen.Ich habe hist3 und andere Vorschläge ausprobiert, aber es überschreibt meine Datensätze und das Binning sieht schrecklich aus.

Gibt es eine andere Möglichkeit, Streudichtediagramme zu zeichnen?Gibt es wirklich keine Matlab-Funktion dafür?Wenn nicht, welches Programm könnte ich verwenden, um eine solche Darstellung einfach zu erstellen?

Eine Mischung aus diesen beiden Beispielen:

Example1

Example2
(Quelle: bcgsc.ca)

War es hilfreich?

Lösung

Dank an @Emil Albert für eine Korrektur (eine Transponierung fehlte)


Was ist falsch am Rechnen? hist3 und Anzeigen des Ergebnisses mit imagesc?

data1 = randn(1,1e5); %// example data
data2 = randn(1,1e5) + .5*data1 ; %// example data correlated to above
values = hist3([data1(:) data2(:)],[51 51]);
imagesc(values.')
colorbar
axis equal
axis xy

enter image description here


Wenn du haben willst die Achsen entsprechend den wahren Datenwerten:Verwenden Sie die zweite Ausgabe von hist3 um die Positionen der Bin-Mittelpunkte zu ermitteln und diese an weiterzuleiten imagesc:

data1 = randn(1,1e5); %// example data
data2 = 2*randn(1,1e5) + 1.2*data1 + 4; %// example data correlated to above
[values, centers] = hist3([data1(:) data2(:)],[51 51]);
imagesc(centers{:}, values.')
colorbar
axis xy

enter image description here

Andere Tipps

probieren Sie es mit Violin Plot Einreichung zum Dateiaustausch.Es ist sehr anpassbar.Ich benutze es die ganze Zeit.Danke an @jonas.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top