2017-02-28 3 views
0

Ich habe Daten wie folgt: x Koordinate | y Koordinate | Z 0,01 | 0,15 | 1 0.23 | 0,17 | 5 0.28 | 0.18 | 6 ... ... ... Ich möchte alle diese Daten in 2-d so plotten, dass wir in jedem Punkt (x, y) die entsprechende Intensität Z haben, die ich mit a dargestellt werden möchte Farbe . Genauso wie die Funktion "Bild", die bereits existiert. Aber ich habe ein Problem, dass die oben genannte Funktion von Matlab in einer einheitlichen Weise alle Punkte plottet. Also, wenn ich habe x= [0 0.01 1]; y = [0 1]; 'Z = [1 1 0; 0 1 1];' Dann wird es die entsprechenden Dichten bei der (0,0) (0,5,0), (1, 0) ... Stellen Sie so die Max von x und die min von x und nehmen Sie einheitliche Stücke. Ich möchte meine Daten in bestimmten Punkten darstellen. Irgendwelche Ideen, gibt es irgendeine andere geeignete Funktion dafür? Wie kann ich so etwas konstruieren?Plot 2-d Daten in Matlab

+1

Verwenden 'surf' . Es soll funktionieren –

+0

Ich möchte meine Daten in 2D sehen. –

+2

nach 'surfen' verwenden' view (2) 'und Sie werden es von oben (2D) sehen. – NKN

Antwort

2

Wenn Ihre Daten ein Raster, das sligth Variationen auf den Werten, aber immer noch ein Gitter, tun hat:

surf(x,y,z,'linestyle','none'); 
axis tight;axis off; view(2) 

Beispiel Ausgabe mit

z=peaks; 
[x,y]=meshgrid(1:49,1:49); 
x=x+rand(size(x))*0.1; 
y=y+rand(size(x))*0.1; 

https://i.imgsafe.org/5bd95a03e9.png

+0

Wenn Sie keine Rasterdaten haben, aber spezifische Punkte mit einer bestimmten Intensität (Z) haben, was können Sie tun? (Ich meine, Sie haben nicht alle Punkte des Formulars: jedes x macht einen Punkt mit allen y in einem Vektor) –

+0

@chaviarasmichalis Wenn Sie nicht x und y Werte haben, dann tun, was ich hier als Beispiel getan habe, wie es der gleiche Fall ist –

+0

Vielen Dank es war sehr hilfreich !!! –