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

Scatterplot Trendline

 

Dominiques
Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2016, 18:44     Titel: Scatterplot Trendline
  Antworten mit Zitat      
Hallo zusammen

ich möcte einen scatterplot herstellen.
Die X-Achse hat ist eine Matrix mit 2130 x 1785
Die Y- Achse ist ebenfalls eine Matrix mit diesen Werten.

Code:
elevation_read_t_corpped = elevation_read_t(210:2339,1:1785); %cropping for 2130x1785
Unwrapped_Phase_sub_cm_t_aug_aug = Unwrapped_Phase_cm_t(210:2339,1:1785); %cropping for 2130x1785
figure (6)
plot(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug_aug(:),'.');


Das funktioniert und führt zum folgenden Resultat.

http://www.dongiatti.com/wp-content.....2016/06/scatterplot_1.jpg

Nun aber möchte ich eine Trendline einfügen..ich habe Folgendes versucht, aber das klappt irgendwie nicht...könnt ihr mir helfen?

Code:
hold on ;
my_poly=polyfit(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug_aug(:),2);
X2= 0:0.01:2700; % X data range
Y2=polyval(my_poly,X2);
plot(X2,Y2);


Viele Grüsse

Dome
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.06.2016, 21:43     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
aber das klappt irgendwie nicht...

Das ist eine sehr vage und, besonders da wir den Code nicht ausführen können, wenig hilfreiche Aussage.
Gibt es eine Fehlermeldung? Ein unerwartetes Verhalten? Inwiefern?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2016, 01:27     Titel:
  Antworten mit Zitat      
Hallo Harald,

hier sind die beiden Inputdaten.

http://www.dongiatti.com/wp-content/uploads/2016/06/Aug_Aug.rar

Ja es erscheint keine Fehlermeldung und eigentlich sollte eine Trendline der gesamten Daten erscheinen.....

so wie hier..

http://www.dongiatti.com/wp-content/uploads/2016/06/ele_los.jpg
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.06.2016, 10:45     Titel:
  Antworten mit Zitat      
Hallo,

schau dir doch mal die Variablen im Variable Editor an.
Y2 besteht nur aus NaN, weil die Polynomkoeffizienten nur aus NaN bestehen. Das wiederum liegt daran, dass die Daten NaN beinhalten.

Wenn du die NaN herausfilterst, bekommst du die Trendlinie.
Code:
valid = ~isnan(elevation_read_t_corpped(:)) & ~isnan(Unwrapped_Phase_sub_cm_t_aug_aug(:));
my_poly=polyfit(elevation_read_t_corpped(valid),Unwrapped_Phase_sub_cm_t_aug_aug(valid),2);


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2016, 17:04     Titel:
  Antworten mit Zitat      
Hallo Herald

Vielen dank es läuft, ich wäre jedoch nie darauf gekommen, dass die NaN Werte ein problem verursachen könnten.

Vielen Dank und Grüsse
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2016, 22:51     Titel:
  Antworten mit Zitat      
Harald,

noch ganz kurz. Irgendwie bringt mir dieser Scatter nicht sehr viele Infos, merk ich gerade...

Ich denke ich könnte es mit einer Density Map versuchen.
Habe hier das Zip herunter geladen und versuche mit diesem Script/Funktion die Daten zu visualisieren.

https://www.mathworks.com/matlabcen.....Density/DataDensityPlot.m

http://www.dongiatti.com/wp-content.....sGeneExpression_Log2.jpeg

Die Trendline habe ich ja durch dich bekommen, die Daten liegen vor und es sollte doch möglich sein einfach meinen Code umzuformen...via:

Code:
elevation_read_t_corpped = elevation_read_t(210:2339,1:1785); %cropping for 2130x1785

Unwrapped_Phase_sub_cm_t_aug_aug = Unwrapped_Phase_cm_t(210:2339,1:1785); %cropping for 2130x1785

figure (8)
scatter(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug_aug(:))
DataDensityPlot(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug_aug(:), 32);
xlabel('Elevation [m]','fontsize',12);
ylabel('LOS unwrapped phase [cm]','fontsize',12);
axis xy
%axis image
title('Scatterplot AUG AUG:  elevation vs. unwrapped Phase');
hold on ;
valid = ~isnan(elevation_read_t_corpped(:)) & ~isnan(Unwrapped_Phase_sub_cm_t_aug_aug(:));
my_poly=polyfit(elevation_read_t_corpped(valid),Unwrapped_Phase_sub_cm_t_aug_aug(valid),2);
X2= 0:0.01:2640; % X data range
Y2=polyval(my_poly,X2);
plot(X2,Y2);
hold off ;


Matlab steht seit 20 min auf "busy"...
ich glaube es hat mit den Dimensionen zu tun, habe versucht zu schrauben, aber ich glaub ich schraub am falschen Ort und es wäre ganz simpel...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.06.2016, 23:02     Titel:
  Antworten mit Zitat      
Hallo,

die Datenmenge kann durchaus das Problem sein.
Wie wäre es mit histcounts2 oder histogram2 ?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2016, 23:20     Titel:
  Antworten mit Zitat      
Hallo Harald.

histcounts2: wäre sehr eine gute Funktion, weil farblich genau dies eine Denisty Map plus minus ist...

Zu histogram2: sehr spannend dies zu sehen, jedoch ein wenig unübersichtlich...kriegen wir das anderst hin mit farbigen Balken, desto höher die Balken? habs gefunden --> 'FaceColor','flat'!

Code:
plot(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug_aug(:),'.')
histogram2(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug_aug(:));


Resultat
http://www.dongiatti.com/wp-content...../2016/06/histogram2_1.jpg

und mit diesem code erhalte ich:
Code:
figure (8)
plot(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug_aug(:),'.')
h=histogram2(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug_aug(:),'FaceColor','flat');
h.DisplayStyle = 'tile';
colorbar
view(2)
xlabel('Elevation [m]','fontsize',12);
ylabel('LOS unwrapped phase [cm]','fontsize',12);
axis xy
%axis image
title('Scatterplot AUG AUG:  elevation vs. unwrapped Phase');
hold on ;
valid = ~isnan(elevation_read_t_corpped(:)) & ~isnan(Unwrapped_Phase_sub_cm_t_aug_aug(:));
my_poly=polyfit(elevation_read_t_corpped(valid),Unwrapped_Phase_sub_cm_t_aug_aug(valid),2);
X2= 1:0.01:2650; % X data range
Y2=polyval(my_poly,X2);
plot(X2,Y2);


http://www.dongiatti.com/wp-content/uploads/2016/06/untitled.jpg

Warum hat es im Minusbereich der Elevation plötzlich (-x) Daten? komisch...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.06.2016, 09:58     Titel:
  Antworten mit Zitat      
Hallo,

Code:
[r, c] = find(elevation_read_t_corpped < 0)


Der eine Wert wird da schon immer gewesen sein, nur ist er bei den bisherigen Darstellungen vielleicht nicht aufgefallen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2016, 17:07     Titel:
  Antworten mit Zitat      
Danke dir Harald!
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2016, 23:50     Titel:
  Antworten mit Zitat      
Hallo Harald

Ich habe zwei Anliegen.

1)
Wie kann ich die Trendline in einer anderen Farbe haben? Oder dicker?

2)
Colorbar-Skalierung:

Bei imagesc kann man z.B. [-150 +15] angeben und dann bekommt die Skalierung der Colorbar automatisch diese Spannweite. Was für einen Vergleich sehr wichtig ist und wäre…hier ein Beispiel

http://www.dongiatti.com/wp-content.....imagesc_colorbar_same.png

Jedoch bei plot() und der histogram2 Funktion geht das nicht… ich habe mit diesem Code etwas versucht:

Code:
figure (6)
plot(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug2_nov1(:),'.')
h=histogram2(elevation_read_t_corpped(:),Unwrapped_Phase_sub_cm_t_aug2_nov1(:),'FaceColor','flat','DisplayStyle','tile','ShowEmptyBins','off'); 'XBinLimits',[0 2700],'YBinLimits',[-150 20]);
h.NumBins = [130 130];
colorbar



Aber das geht nicht. Habe in der help nicht viel gefunden diesbezüglich… Momentan sehen die Colorbars noch unterschiedlich aus.

http://www.dongiatti.com/wp-content.....t_colorbar_notthesame.png

Vielleicht weisst du gerade etwas über Fall 1) und 2)

Beste Grüsse

Dome
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.06.2016, 14:03     Titel:
  Antworten mit Zitat      
Hallo,

1) Die üblichen Optionen von plot sollten helfen, z.B.
Code:
plot(x, y, 'r', 'LineWidth', 3)


2) Versuch mal, die Eigenschaft 'CLim' zu setzen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dominiques
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 21.05.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.07.2016, 13:08     Titel:
  Antworten mit Zitat      
Vielen Dank Harald

hab dann auch bei Plot nach geschaut...

Viele Grüsse, jedoch hab ich noch eine andere Frage...ich mach mal wieder ein neues Thema.. Smile
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.