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:
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)
pcolor
surf
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.
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.
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:
Tags und Links matlab matlab-figure