WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

3DPlot: Verteilung Colormap gestört

 

Surtre
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 28.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.02.2014, 15:48     Titel: 3DPlot: Verteilung Colormap gestört
  Antworten mit Zitat      
Ich habe als Einstieg in die Datenvisualisierung mit MATLAB aus einem Datensatz mit zwei Parametern ein 3D-Diagramm mit logarithmischer Z-Achse mittels meshgrid und surf erstellt. Nach den Höhen und Tiefen, die man als Anfänger erlebt (Position Achsenbeschriftung, logaritmische Aufteilung der Colorbar, Antialiasing...), bin ich mit dem Ergebnis recht zufrieden. Jetzt wollte ich das gewonnene Skript auf einen anderen Datensatz loslassen, der bei gleichen Parametern eine andere physikalische Größe enthält. Diese Größe benötigt eine lineare z-Achse. Eigentlich dachte ich, dass es dadurch nur einfacher werden kann, aber:

Im Falle einer linearen z-Achse treten Fehler auf.
1. Das Gitter ist im Plotfenster "zerschossen". Es werden nicht nur benachbarte Gitterlemente verbunden, sondern auch Elemente zwischen Anfang und Ende der gitterbildenden Vektoren, siehe Bild. Wird das Diagramm gespeichert/gedruckt, ist das Fenster aber i.O. Bei einem logarithmischen Plot ist das Gitter auch im Plotfenster i.O.
2. Die Farbverteilung ist gestört. Im logarithmischen Plot verläuft die Farbgrenze der Colormap wunderschön an der jeweiligen Wertegrenze (shading interp). Im linearen Plot passt es nicht.
Die beiden anhängenden Beispiele sind mit folgendem abgespeckten Code erzeugt worden, der bereits den Fehler zeigt.
Code:

A=[-60:1:60];
B=[4:2:48];
Z=rand(121,23);
[X,Y]=meshgrid(B,A);
S=surf(X,Y,Z); %Oberfläche erstellen
shading interp;
set (S, 'edgecolor', 'k') %schwarzes Gitter in interp-Surface hinzufügen
%Format Z-Achse
set (gca, 'Zscale', 'log');
 

bzw. in der letzten Zeile
Code:
set (gca, 'Zscale', 'linear');

Bei meinen eigenen Daten wird das Farbproblem leichter deutlich, die Zufallszahlen sind doch recht stark gezackt. Was man aber in den Beispielbildern sehen kann, dass es einen Farbverlauf gibt, der eigentlich gar nicht existiert (lila). Das deckt sich wieder mit den Gitterfehlern in der Plotansicht, bei denen Knoten verbunden sind, die gar nicht benachbart sind.

Hat jemand eine Idee, wie sich der Fehler beheben lässt?
Meine Matlab-Version ist R2012B (8.0.0.0.783)

Vielen Dank
-Surtre-

Plotfenster.jpg
 Beschreibung:
Screenshot Plotfenster

Download
 Dateiname:  Plotfenster.jpg
 Dateigröße:  152.55 KB
 Heruntergeladen:  356 mal
Bsp1.jpg
 Beschreibung:
lineare Z-Achse

Download
 Dateiname:  Bsp1.jpg
 Dateigröße:  43 KB
 Heruntergeladen:  391 mal
Bsp2.jpg
 Beschreibung:
log-Z-Achse

Download
 Dateiname:  Bsp2.jpg
 Dateigröße:  41.9 KB
 Heruntergeladen:  369 mal
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.