Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Robotik mit MATLAB

Fachkräfte:
weitere Angebote

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Fette Kurven durch Einfügen von Plot-Markern

 

tobi249

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 10:11     Titel: Fette Kurven durch Einfügen von Plot-Markern
  Antworten mit Zitat      
Guten Morgen,

ich möchte insgesamt 4 Kurven plotten, das klappt auch alles problemlos. Wenn ich nun spezielle Marker für die einzelnen Kurven einfügen möchte (bspw. 'o' oder '>'), werden die Kurven automatisch deutlich fetter geplottet, so dass die Kurvenbreite deutlich ansteigt und die eigentlichen Marker völlig verdeckt. Nur am Ende der Kurven sieht man, dass überhaupt Marker eingefügt wurden (s. Bild im Anhang).

Mein Code lautet:


%% 2. Plotten und Plotdesign

%plot design
Fenstername = "DMS_2_3_4 - KMD - FM=30 kN"
set(0,'defaultfigurecolor',[1 1 1]) %Diagrammhintergrund immer weiß
fig=figure('Name',Fenstername,'NumberTitle','off');

subplot(4, 1, 1:3)

set(fig,'units','normalized','outerposition',[0.1 0.1 0.7 0.9]);
PaperSize=[14 10]; %in cm
set(fig,'PaperSize', PaperSize, 'Resize', 'off', 'units','centimeters','position',[0 0 PaperSize(1) PaperSize(2)]);
set(0, 'DefaultAxesColor','w')

set(0, 'DefaultAxesColor','w')
FS=13; %Schriftgröße für Achsenbeschriftung einstellen 17?
set(0, 'DefaultAxesFontSize',FS)
set(0, 'DefaultAxesFontName','Arial')
set(0, 'DefaultAxesFontWeight','normal')

set(0, 'DefaultTextColor','k') % Schriffarbe = schwarz
set(0, 'DefaultTextFontName','Arial')
set(0, 'DefaultTextFontSize',FS)

set(gca,'FontSize',FS); %Schriftgröße der Achsenbeschrfitung
set(gca,'FontName', 'Arial'); %Schriftart der Achsenbeschrfitung
set(gca,'FontWeight','normal');
set(gca, 'XColor', 'k'); %Farbe der x-Achsenbeschriftung
set(gca, 'YColor', 'k'); %Farbe der ersten y-Achsenbeschriftung

%Zusätzliche Farben definieren:
orange=[0.89,0.4,0.09] %orange
gruen=[0.349,0.709,0.282] %grün

hold on
plot(S11_TIME, S11_7F10_Proz,'k','LineWidth',1.5);
plot(S10_TIME, S10_7F30_Proz,'b','LineWidth',1.5);
plot(S10_TIME, S10_7F40_Proz,'Color',orange,'LineWidth',1.5);
plot(S10_TIME, S10_7F47_Proz,'Color',gruen,'LineWidth',1.5);
hold off

xlim([-2 65])
ylim([75 120])
%xlabel('Zeit [h]');
ylabel('relative preload F_P/F_{P0} (-)');
legend('F_{P01} = 10 kN', 'F_{P02} = 30 kN', 'F_{P03} = 40 kN', 'F_{P04} = 47 kN','location','best','NumColumns',2,'FontSize',12)
%f_break_axis_DC('length', 0.3)
%print FM_Einfluss_RF_F -dmeta -r600


subplot(4, 1, 4);

plot(S21_TIME, S21_TEMP,'b','LineWidth',1.5);
set(0, 'DefaultAxesColor','w')
FS=13; %Schriftgröße für Achsenbeschriftung einstellen 17?
set(0, 'DefaultAxesFontSize',FS)
set(0, 'DefaultAxesFontName','Arial')
set(0, 'DefaultAxesFontWeight','normal')

set(0, 'DefaultTextColor','k') % Schriffarbe = schwarz
set(0, 'DefaultTextFontName','Arial')
set(0, 'DefaultTextFontSize',FS)

set(gca,'FontSize',FS); %Schriftgröße der Achsenbeschrfitung
set(gca,'FontName', 'Arial'); %Schriftart der Achsenbeschrfitung
set(gca,'FontWeight','normal');
set(gca, 'XColor', 'k'); %Farbe der x-Achsenbeschriftung
set(gca, 'YColor', 'k'); %Farbe der ersten y-Achsenbeschriftung


xlim([-2 65]) %Achtung! Selben Wert wie oben wählen!
ylim([0 130])
xlabel('time t_A [h]')
ylabel('Temp T [°C]')
legend('Temp-Profile','Location','south','FontSize',12)
%print FM_Einfluss_RF_F -dmeta -r600 %Achtung! Selbe Bezeichnung wie oben wählen!


Kann mir jemand sagen, wo der Fehler liegt? Vielen Dank!

Plot.png
 Beschreibung:

Download
 Dateiname:  Plot.png
 Dateigröße:  28.33 KB
 Heruntergeladen:  26 mal


tobi249

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 10:13     Titel:
  Antworten mit Zitat      
Dieses Bild ist das korrekte:

Plot2.png
 Beschreibung:

Download
 Dateiname:  Plot2.png
 Dateigröße:  25.9 KB
 Heruntergeladen:  31 mal
 
tobi249

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 10:15     Titel:
  Antworten mit Zitat      
Und dieser Code der richtige:

%% 2. Plotten und Plotdesign

%plot design
Fenstername = "DMS_2_3_4 - KMD - FM=30 kN"
set(0,'defaultfigurecolor',[1 1 1]) %Diagrammhintergrund immer weiß
fig=figure('Name',Fenstername,'NumberTitle','off');

subplot(4, 1, 1:3)

set(fig,'units','normalized','outerposition',[0.1 0.1 0.7 0.9]);
PaperSize=[14 10]; %in cm
set(fig,'PaperSize', PaperSize, 'Resize', 'off', 'units','centimeters','position',[0 0 PaperSize(1) PaperSize(2)]);
set(0, 'DefaultAxesColor','w')

set(0, 'DefaultAxesColor','w')
FS=13; %Schriftgröße für Achsenbeschriftung einstellen 17?
set(0, 'DefaultAxesFontSize',FS)
set(0, 'DefaultAxesFontName','Arial')
set(0, 'DefaultAxesFontWeight','normal')

set(0, 'DefaultTextColor','k') % Schriffarbe = schwarz
set(0, 'DefaultTextFontName','Arial')
set(0, 'DefaultTextFontSize',FS)

set(gca,'FontSize',FS); %Schriftgröße der Achsenbeschrfitung
set(gca,'FontName', 'Arial'); %Schriftart der Achsenbeschrfitung
set(gca,'FontWeight','normal');
set(gca, 'XColor', 'k'); %Farbe der x-Achsenbeschriftung
set(gca, 'YColor', 'k'); %Farbe der ersten y-Achsenbeschriftung

%Zusätzliche Farben definieren:
orange=[0.89,0.4,0.09] %orange
gruen=[0.349,0.709,0.282] %grün

hold on
plot(S11_TIME, S11_7F10_Proz,'-k*','LineWidth',1.5);
plot(S10_TIME, S10_7F30_Proz,'-bo','LineWidth',1.5);
plot(S10_TIME, S10_7F40_Proz,'->','Color',orange,'LineWidth',1.5);
plot(S10_TIME, S10_7F47_Proz,'-<','Color',gruen,'LineWidth',1.5);
hold off

xlim([-2 65])
ylim([75 120])
%xlabel('Zeit [h]');
ylabel('relative preload F_P/F_{P0} (-)');
legend('F_{P01} = 10 kN', 'F_{P02} = 30 kN', 'F_{P03} = 40 kN', 'F_{P04} = 47 kN','location','best','NumColumns',2,'FontSize',12)
%f_break_axis_DC('length', 0.3)
%print FM_Einfluss_RF_F -dmeta -r600


subplot(4, 1, 4);

plot(S21_TIME, S21_TEMP,'b','LineWidth',1.5);
set(0, 'DefaultAxesColor','w')
FS=13; %Schriftgröße für Achsenbeschriftung einstellen 17?
set(0, 'DefaultAxesFontSize',FS)
set(0, 'DefaultAxesFontName','Arial')
set(0, 'DefaultAxesFontWeight','normal')

set(0, 'DefaultTextColor','k') % Schriffarbe = schwarz
set(0, 'DefaultTextFontName','Arial')
set(0, 'DefaultTextFontSize',FS)

set(gca,'FontSize',FS); %Schriftgröße der Achsenbeschrfitung
set(gca,'FontName', 'Arial'); %Schriftart der Achsenbeschrfitung
set(gca,'FontWeight','normal');
set(gca, 'XColor', 'k'); %Farbe der x-Achsenbeschriftung
set(gca, 'YColor', 'k'); %Farbe der ersten y-Achsenbeschriftung


xlim([-2 65]) %Achtung! Selben Wert wie oben wählen!
ylim([0 130])
xlabel('time t_A [h]')
ylabel('Temp T [°C]')
legend('Temp-Profile','Location','south','FontSize',12)
%print FM_Einfluss_RF_F -dmeta -r600 %Achtung! Selbe Bezeichnung wie oben wählen!
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 23.418
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.06.2021, 11:08     Titel:
  Antworten mit Zitat      
Hallo,

durch das Einfügen von Markern sollte sich die Linienbreite nicht ändern.
Meine Vermutung ist, dass du sehr viele Datenpunkte hast und dadurch der Eindruck einer breiten Linie entsteht.

Code:
%dx = 0.01; % Linie und Marker sind noch eben so erkennbar
dx = 0.001; % Zu viele Marker, es entsteht der Eindruck einer fetten Linie
x = 0:dx:1;
y = x.^2;
plot(x, y, '->')

Wenn du hineinzoomst, sind aber weiter eine dünne Linie und die Marker erkennbar.

Falls das nicht weiterhilft, bitte ein Datenbeispiel zur Verfügung stellen, anhanddessen man das Problem nachvollziehen kann.

Es sollte übrigens reichen, Default-Eigenschaften einmal (am Anfang) zu setzen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
tobi249

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2021, 12:21     Titel:
  Antworten mit Zitat      
Hallo,

vielen Dank für die Antwort, das war tatsächlich die Lösung. Ich lasse die Marker jetzt nur jeden 50000. Punkt anzeigen, jetzt geht es.
 
Harald
Forum-Meister

Forum-Meister


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

dann hast du wirklich viele Datenpunkte! Very Happy
Wenn das Plotten lange dauert, kann man sich überlegen, die Daten zusammenzufassen. Z.B. über je 1000 Datenpunkte Minimum und Maximum bestimmen und beide Kurven plotten.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2021 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.