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

Scatter plot auf richtige Skala bringen

 

RatioTM
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 24.04.18
Wohnort: Genf
Version: ---
     Beitrag Verfasst am: 31.05.2018, 22:10     Titel: Scatter plot auf richtige Skala bringen
  Antworten mit Zitat      
Hallo,

ich moechte verschiedene Daten im Scatter plot nach ihrer Intensität plotten (im Anhang sind zwei Beispiele zu sehen). Anhand des Anhangs könnt ihr auch mein Problem erkennen:
Ich möchte meine Daten so skalieren dass
i) die Punkte in figure2 gut erkennbar sind (was zur Zeit okay ist)
ii) die Punkte in figure1 nicht meine Achsenbeschriftung verlassen und viel zu groß erscheinen.

Ich habe versucht, alles auf eine log skala zu setzen, jedoch bringt das keine Lösung..gibt es eine Möglichkeit, bei scatter anzugeben, in welchen Schritten er die Punkte vergrößern soll?

Vielen Dank!

Figure1.png
 Beschreibung:

Download
 Dateiname:  Figure1.png
 Dateigröße:  26.83 KB
 Heruntergeladen:  252 mal
Figure2.png
 Beschreibung:

Download
 Dateiname:  Figure2.png
 Dateigröße:  33.13 KB
 Heruntergeladen:  252 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.05.2018, 22:38     Titel:
  Antworten mit Zitat      
Hallo,

du kannst als drittes Argument einen Vektor von Größen angeben. Wenn du das logarithmisch skaliert haben willst, dann musst du da halt log(data) übergeben - ggf. gerundet.

Grüße,
Harakd
Private Nachricht senden Benutzer-Profile anzeigen
 
RatioTM
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 24.04.18
Wohnort: Genf
Version: ---
     Beitrag Verfasst am: 31.05.2018, 22:49     Titel:
  Antworten mit Zitat      
Hi Harald,

danke für den Tip!
Ich verwende derzeit bereits drei Argumente:

Code:

figure ('Color', 'white')
s1=scatter(Exactmass, massdefect, intensity_1945_05(1:2,:),'fill','MarkerEdgeColor','k','Linewidth',1);
s1.MarkerFaceColor= [0 0.2 0.3];
 


Wobei intensity mein Argument ist, welches die Größe meiner Punkte definiert. Ich weiß auch bisher nicht, ob die log skala die Lösung meines Problems darstellt..
meine range im intensity Vektor sieht wie folgt aus (10x1 Matrix):

0.0464664532086389
0.000535975225479992
3.08830022249943e-07
3.03230780334605e-05
2.93912034469959e-06
3.53273973964831e-05
0.00483591374374730
0.000216191942141214
0.000246657850081975
0.000216972297670900

Ich nehme an, die große Range (über 7 Größenordnungen) ist die Ursache meines Problems...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.05.2018, 22:52     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich weiß auch bisher nicht, ob die log skala die Lösung meines Problems darstellt..

Was passiert denn, wenn du's versuchst? ;)

Mich verwundert an dem Code vor allem, dass du zwei Zeilen aus intensity_1945_05 extrahierst. Ist das wirklich so sinnvoll?

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 24.04.18
Wohnort: Genf
Version: ---
     Beitrag Verfasst am: 31.05.2018, 23:07     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

Zitat:
Ich weiß auch bisher nicht, ob die log skala die Lösung meines Problems darstellt..

Was passiert denn, wenn du's versuchst? Wink

Mich verwundert an dem Code vor allem, dass du zwei Zeilen aus intensity_1945_05 extrahierst. Ist das wirklich so sinnvoll?

Grüße,
Harald


Mein Code sieht eigentlich so aus:
Code:

figure ('Color', 'white')
s1=scatter(Exactmass(5:6,:),massdefect(5:6,:),intensity_1945_05(1:2,:), 'fill','MarkerEdgeColor','k','Linewidth',1);
s1.MarkerFaceColor= [0 0.2 0.3];
 


Das Ganze geht noch weiter über mehrere hold on Befehle..ich habe nur einen Ausschnitt genommen Smile
Ich habe jetzt folgendes probiert:
Code:
figure ('Color', 'white')
s1=scatter(Exactmass(5:6,:),massdefect(5:6,:),intensity_1945_05(1:2,:),[0.0464664532086389 0.000535975225479992 ],'fill','MarkerEdgeColor','k','Linewidth',1);
s1.MarkerFaceColor= [0 0.2 0.3];
 


selbiges habe ich mit log (intensity_1945_05(1:2,Smile), wobei ich noch keinen Unterschied erkennen kann..ich denke ich muss irgendwas an meinen Daten ändern und diese auf eine skala bringen, bei der die Proportionen auf der einen Seite noch stimmen, auf der anderen Seite aber nicht mehr über 7 Größenordnungen variiert wird...
Private Nachricht senden Benutzer-Profile anzeigen
 
RatioTM
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 51
Anmeldedatum: 24.04.18
Wohnort: Genf
Version: ---
     Beitrag Verfasst am: 31.05.2018, 23:17     Titel:
  Antworten mit Zitat      
achja: mit folgendem habe ich auch bereits gearbeitet:

Code:

figure ('Color', 'white')
s1=scatter(Exactmass(5:6,:),massdefect(5:6,:),log(intensity_1945_05(1:2,:)),'fill','MarkerEdgeColor','k','Linewidth',1);
s1.MarkerFaceColor= [0 0.2 0.3];
 


Das macht mir die ganze Sache nur leider deutlich zu klein und die Unterschiede nicht wirklich sichtbar...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

dann nimm einen Vorfaktor? Oder addier was dazu?
Die Logarithmen sind ja bei Zahlen < 1 negativ. Das ist für Punktgrößen nicht so recht sinnvoll.

Grüße,
Harald
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 - 2024 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.