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

"4D daten" darstellen

 

JeefoWin32
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 24.12.09
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.12.2014, 12:29     Titel: "4D daten" darstellen
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem:
Im drei dimensionalen Raum habe ich pro Punkt einen Messwert, welche ich nun als Volumen darstellen möchte. Leider habe ich nichts passendes gefunden, oft wird auf 2D meshgrids eine Z-Komponente als "Höhe" geplottet, ich habe nun aber an definierten Punkten [x,y,z] einen Wert, der - sofern möglich - farbkodiert dargestellt werden soll.

Ich habe schon mehrere Versuche mit surf, plot3 und scatter3 unternommen, bisher ohne Erfolg, da ich es hier bisher nicht geschafft habe, die Messwerte einzubringen.

Gibt es hierfür andere Möglichkeiten?

MfG
Private Nachricht senden Benutzer-Profile anzeigen


Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 17.12.2014, 12:48     Titel:
  Antworten mit Zitat      
Hallo,

so, wie du deine gescheiterten Versuche beschreibst, ist das wenig Aussagekräftig. Wenn du das beispielsweise mit scatter3() plotten willst und der Wert an der entsprechenden x,y,z Koordinate dabei durch die MarkerSize codiert werden soll, dann sollte soetwas funktionieren:
Code:
% Daten
x = [1, 2, 1];
y = [2, 2, 3];
z = [3, 0, 1];
values = [5, 10, 15];

% Markersize anhand der Werte bestimmen
ms_max = 100;
values_max = max(values);
ms = values*ms_max/values_max;

% Plotten
figure
scatter3(x, y, z, ms, 'filled')


Für Farben ginge das vermutlich analog, zur not in einer for-Schleife plotten.

Viele Grüße,
Nras.
Private Nachricht senden Benutzer-Profile anzeigen
 
JeefoWin32
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 24.12.09
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 18.12.2014, 19:32     Titel:
  Antworten mit Zitat      
Ich wollte - sofern möglich - einen Voxel farbcodiert durch den Wert an der jeweiligen Stelle in den Daten darstellen. Die Bobbel von scatter3 waren nicht so schön, aber eine anderer Lösung (mit deinem Hinweis gehts übrigens, danke) hab ich dafür nicht gefunden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 19.12.2014, 11:30     Titel:
  Antworten mit Zitat      
Hallo,

naja dann nimm dir eine colorbar und plotte die Dinger, so wie sie dir gefallen, einzeln. Etwa so
Code:
% Daten
x = [1, 2, 1];
y = [2, 2, 3];
z = [3, 0, 1];
values = [5, 10, 15];

% Farbskala erstellen (von 0 (blau) bis 1 (rot)) -- oder eine beliebige andere Skala
steps = 50; % steps verschiedene Farben
cmap = [linspace(0, 1, steps)
        zeros(1, steps)
        linspace(1, 0, steps)]';

% Werte auf 0 bis 1 normieren
values_normalized = (values-min(values))./(max(values)-min(values));  

% Farbindex setzen
 color_idx = interp1(linspace(0, 1, steps), 1:steps, values_normalized, 'nearest');
     
figure
hold on
for i = 1:length(values)
    farbe = cmap(color_idx(i), :); % aktuelle  Farbe
    plot3(x(i), y(i), z(i), 'o', 'MarkerSize', 15,...
        'MarkerFacecolor', farbe, ...
        'Color', farbe)
end
grid on


Falls das zu langsam ist: es könnte schneller sein, nicht alle Punkte einzeln zu plotten, sondern nach dem color_idx gruppieren und jeweils alle Punkte, die die gleiche Farbe kriegen, zusammen zu plotten.
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.