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

Darstellung von 4 Plots in Axes

 

sick
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 29.08.2008, 10:09     Titel: Darstellung von 4 Plots in Axes
  Antworten mit Zitat      
Wie kann man vier Plots in einem Axes ausgeben bzw. die Liniendicke, Linienart jeweils verändern?
Private Nachricht senden Benutzer-Profile anzeigen


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2008, 11:18     Titel:
  Antworten mit Zitat      
Hallo,

du erzwingst das "Nicht-Löschen" von alten Inhalten in einer Axis indem du
Code:
verwendest.
Code:
Um die Eigenschaften von Objekten zu ändern, benötigst du handles. Das geht bspw. so:
Code:
h1 = plot(rand(10));
hold on
h2 = plot(rand(20));
set(h1,'Color','r');
set(h2,'Color','b');
oder alternativ
Code:
plot(rand(10),'Color','r');
hold on
plot(rand(20),'Color','b');
mit "Color" als Beispielseigenschaft. Liniendicke = LineWidth, Linienart = LineStyle

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
sick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 29.08.2008, 11:51     Titel:
  Antworten mit Zitat      
Für meine Darstellung, müssen die Kurven keine Striche sondern einzelne Punkte sein. leider hab ich es nicht geschafft dies so hinzubekommen.

Code:

axes(handles.axes2)

plot(matrix_temp(1:le_temp_ref,7),matrix_temp(1:le_temp_ref,8),'g', ...
     matrix_druck(1:le_druck_ref,7),matrix_druck(1:le_druck_ref,8),'k', ...
     matrix_re(1:le_re_daten,7),matrix_re(1:le_re_daten,9),'m', ...
     matrix_re(1:le_re_daten,7),matrix_re(1:le_re_daten,8),'b');

set(handles.axes2,'XLim',[0 matrix_temp(le_temp_ref,7)]);
%set(handles.axes2,'XMinorTick','on');
set(handles.axes2,'LineStyle','.');
disp(get(handles.axes2,'LineStyleOrder'));
grid on
 


Wie kann ich dies mit Matlab machen?
Private Nachricht senden Benutzer-Profile anzeigen
 
sick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 29.08.2008, 12:15     Titel:
  Antworten mit Zitat      
Jetzt hab ich mal so versucht, aber da geht es immer noch nicht.

Code:

axes(handles.axes2)
set(handles.axes2,'LineStyle','.');
hold on
p1 = plot(matrix_temp(1:le_temp_ref,7),matrix_temp(1:le_temp_ref,8),'g');  
p2 = plot(matrix_druck(1:le_druck_ref,7),matrix_druck(1:le_druck_ref,8),'k');
p3 = plot(matrix_re(1:le_re_daten,7),matrix_re(1:le_re_daten,9),'m');
p4 = plot(matrix_re(1:le_re_daten,7),matrix_re(1:le_re_daten,8),'b');

set(p1,'LineStyle','-');
set(p2,'LineStyle','-');
set(p3,'LineStyle','-');
set(p4,'LineStyle','-');
set(p1,'LineWidth',0.2);
set(p2,'LineWidth',0.2);
set(p3,'LineWidth',0.2);
set(p4,'LineWidth',0.2);

grid on;
 


Ich möchte nur ganz feine einzelne Punkte darstellen.
Private Nachricht senden Benutzer-Profile anzeigen
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2008, 12:24     Titel:
  Antworten mit Zitat      
Hallo,

wenn du einzelne Punkte plotten willst, dann nimm
Code:
set(p1,'LineStyle','.');
falls du gepunktete Verbindungslinien haben willst, nimm
Code:
set(p1,'LineStyle',':');
Du kannst übrigens mit der Eigenschaft "Marker" auch noch den Typ den Marker ändern (falls dir Punkte nicht gefallen).

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
sick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 29.08.2008, 12:39     Titel:
  Antworten mit Zitat      
Vielen Dank! Kann man eigentlich die Größe der Punkte verändern.
Ich bräuchte ganz feine Punkte in dem Plot.

Wie kann man die Beschriftung/Skalierung der Y-Achse von der linken Seite und Y-Achse der rechten Seite verändern?
Links also die Y-Achse1 soll so -50° ... +130° skaliert wewrden und auf der anderen Seite z.B. 50kpa ... 120kpa.
Private Nachricht senden Benutzer-Profile anzeigen
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2008, 15:13     Titel:
  Antworten mit Zitat      
Hallo,

wenn es um den Wertebereich geht, gibt es eine Eigenschaft in den Achsen (und gleichzeitig auch einen Befehl) die sich
Code:
nennt. Damit änderst du einfach den sichtbaren Bereich (lim für Limit). Du kannst mit der Eigenschaft
Code:
YTickLabel
auch explizit eigene Werte für die Achsenbeschriftung angeben (eigene Zahlen, aber auch Symbole und Strings).

Ansonsten:
Code:
p = plot(sin(-pi:.1:pi),'LineStyle','none','Marker','.','MarkerSize',.5);
bzw.
Code:
p=plot(sin(-pi:.1:pi));
set(p,'LineStyle','none','Marker','.','MarkerSize',.5);


MfG
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.