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

Markertypes in einer FOR-Schleife variieren

 

Slamdunker23
Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 08.04.2013, 11:09     Titel: Markertypes in einer FOR-Schleife variieren
  Antworten mit Zitat      
Guten Morgen liebe Community!

Ich bin dabei mit einer FOR-Schleife mehrere Datenreihen in ein Diagramm zu plotten.
Den Farbwechsel geht mit dem Befehl
Code:

oder über die Colororder.

Ich will aber zusätzlich den Markertyp für jede Datenreihe ändern und diesen in der gleichen Farbe wie der Linienplot darstellen.

Könnt ihr mir bitte helfen, wie das funktioniert?

Vielen Dank für eure Hilfe!

Herzlicher Gruß, Daniel
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 08.04.2013, 12:26     Titel:
  Antworten mit Zitat      
sowas?
Code:
m={'+','o','*'};
c={'green','yellow','blue'};
f=rand(3,10);
figure(1)
hold on;
for n=1:3
plot(f(n,:),'color',c{n},'marker',m{n})
end
Private Nachricht senden Benutzer-Profile anzeigen
 
Slamdunker23
Themenstarter

Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 08.04.2013, 13:10     Titel:
  Antworten mit Zitat      
Hallo. Das ist auf jeden Fall das richtige, wenn ich weiß, dass ich drei Inputvariablen habe.

Die FOR-Schleife ändert sich aber dynamisch, somit kann ich nicht immer sagen, wie viele Inputvariablen gegeben sind.

Wie kann man das angehen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 08.04.2013, 16:28     Titel:
  Antworten mit Zitat      
hmm naja meines wissens nach ist die anzahl der marker begrenzt. kannst dazu in der doc nachgucken. sind 13 marker oder so. die anzahl der daten reihen kannst du ja irgendwie ermitteln und dann als ende der for schleife angeben. bei der color ist es einfacher. da kann man ja nicht nur die namen nehmen sondern auch den rbg ausdruck. guck dazu mal bei lineseries proerties in der doc nach. für den rbg ausdruck musst du dir dann nur was lustiges überlegen.
zb:
Code:
m={'+','o','*','p','<','>'};
reihenanzahl=6;
f=rand(reihenanzahl,10);
figure(1)
hold on;
for n=1:reihenanzahl
plot(f(n,:),'color',[1/reihenanzahl*(n-1),1/reihenanzahl*(reihenanzahl-n),0],'marker',m{n})
end

würde dann halt nur bis 13 gehen aber ich denke wenn du mehr als 13 grafen darstellen willst dann siht man nacher bei den markern eh nicht mehr durch. du könntest dann zusätlich noch mit linestyle arbeiten dann halt kobinationen aus farbe marker und linestyle machen. aber irgendwann wirs unübersichtlich.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.04.2013, 17:11     Titel:
  Antworten mit Zitat      
Hallo Slamdunker23,

Code:
nColor = 10;
colorMap = jet(nColor);  % Oder ein anderer ColorMap
nMarker = 5;
marker = {'+','o','*', '.', 'v'};

f = rand(100, 10);
figure(1)
axes('NextPlot', 'add');   % Oder: hold on

iColor = 1;
iMarker = 1;
for n = 1:100
  plot(f(n, :), 'color', c(iColor, :), 'marker', marker{iMarker});
  iColor = iColor + 1;
  if iColor > nColor
    iColor = 1;
    iMarker = iMakrer + 1;
    if iMaker > nMarker
      iMarker = 1;
      % Dann den LineStyle auf ".-" setzen ?!
    end
  end
end
 

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Slamdunker23
Themenstarter

Forum-Century

Forum-Century


Beiträge: 101
Anmeldedatum: 03.11.09
Wohnort: Stuttgart
Version: R2012b
     Beitrag Verfasst am: 16.04.2013, 10:27     Titel:
  Antworten mit Zitat      
Perfekt, vielen Dank!
Es läuft wie es soll Smile

Gruß, Daniel
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.