Ändern Sie die Zahlenansicht in Matlab

7

Gibt es eine Möglichkeit, das surf() style-Datenformat zu verwenden, um eine Heatmap zu erstellen?

Ich habe eine Menge verstreuter Daten in der Form z=f(x,y) (also habe ich TriScatteredInterp verwendet, damit es mit meshgrid funktioniert) und ich möchte z mit einer Heatmap visualisieren. surf führt bereits etwas ähnliches aus wie gewünscht, außer dass Sie das Diagramm manuell drehen müssen, sodass die Ansicht von oben nach unten auf die XY-Ebene zeigt.

Grundsätzlich möchte ich etwas ähnliches:

Aber Surf gibt dir das standardmäßig:

    
sciencectn 10.06.2014, 23:58
quelle

3 Antworten

8

Obwohl die Antworten hier bereits zeigen, wie man das mit dem Surf macht, fühlt sich die 3D Oberfläche ein wenig an wie ein Overkill ...

pcolor erstellt die erforderlichen Bilder direkt

(mit etwas besseren Ergebnissen -surf hat eine Lücke neben den Achsen)

code

%Vor%

Ergebnisse

pcolor

surf

    
RTL 11.06.2014, 11:51
quelle
7

Wenn Sie Bens Antwort hinzufügen, können Sie den Befehl view verwenden. Mit view können Sie Ihren Plot in den von Ihnen gewünschten Kamerawinkel drehen.

Im Allgemeinen rufen Sie den Befehl wie folgt auf:

%Vor%

AZ ist die Azimut- oder horizontale Rotation, während EL die vertikale Elevation ist. Diese sind beide in Grad.

Wenn Sie in Ihrem Fall das surf Diagramm plotten, verwenden Sie view(0, 90); , bevor Sie zum nächsten subplot gehen. view(0, 90); ist die standardmäßige 2-D-Ansicht, und dies sieht direkt über dem Kopf aus.

Dadurch vermeiden Sie, dass Sie das Plot manuell rotieren müssen, und verwenden dann campos , um zu bestimmen, wie die Kameraposition bei Ihrem Plot ist. view(0, 90); sollte dir geben, was du brauchst.

Nebenbemerkung

Doing view(2); gibt Ihnen auch die Standard-2D-Ansicht, die gleich view(0, 90); ist, wie wir gesprochen haben. Indem Sie view(3); ausführen, erhalten Sie die Standard-3D-Ansicht, wie Sie sie in Ihren Zeichnungen sehen. FWIW, der Standardazimut und die Standardhöhe für ein 3D-Diagramm sind AZ = -37.5, EL = 30 , natürlich in Grad.

    
rayryeng 11.06.2014 00:29
quelle
4

Drehen Sie die Ansicht zu dem, was Sie möchten. Geben Sie dann campos in das Terminal ein. Dies zeigt Ihnen die Kameraposition. Sie können dann campos( your_desired ) verwenden, um die Kameraposition für zukünftige Plots festzulegen.

Zum Beispiel ist die x, y -Ansicht normalerweise:

%Vor%     
Fantastic Mr Fox 11.06.2014 00:09
quelle

Tags und Links