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

Graphen verschieden einfärben

 

JohnnyCash
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 22.07.09
Wohnort: ---
Version: 2009b
     Beitrag Verfasst am: 15.12.2009, 19:35     Titel: Graphen verschieden einfärben
  Antworten mit Zitat      
Hallo!

Ich habe eine Tourenplanung implementiert und möchte mir nun die einzelnen Routen in einem Plot anzeigen lassen. Das ist prinzipiell auch kein Problem. Bloß haben momentan alle Routen die selbe Farbe. Die Routen sind in einem CellArray gespeichert.

Ich will nun die Routen in einem 2d kartesischen Koordinatensystem darstellen und jede mit einer anderen Farbe darstellen. Ich weiß bloß nicht recht wie ich das anstellen soll. weil ich zum plotten eine schleife nutze die durch hold on alle Routen in einem Koordinatensystem darstellt. Das sieht so aus:

Code:

for z=1:length(T)
    J = T{z};
    hold on
    plot(W(J,1),W(J,2),?Color?)
    title('Routen')
end
hold off
 


Ich wandle also jede Tour(T) des CellArray ersteinmal in einen Vektor(J) um, der dann wiederum genutzt wird um die Koordinaten aus der Koordinatenmatrix(W) zuplotten.

Nun brauch ich einen Befehl bei ?Color? der mir jede Route anders einfärbt. Ist das überhaupt so möglich? Hab dazu noch nix gefunden.

Grüße
Johnny
Private Nachricht senden Benutzer-Profile anzeigen


ouglin
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 15.12.09
Wohnort: München
Version: ---
     Beitrag Verfasst am: 15.12.2009, 19:45     Titel:
  Antworten mit Zitat      
Hi Johnny,
ich werd mal meine Idee dazu beschreiben...
definiere vor der Schleife einen Farbvektor
Code:
colorVec = ['y';'m';'c';'r';'g';'b';'w';'k'];


dann in der Schleife einen Zähler für die Farbe mitlaufen lassen, der Prüft, ob er am Ende des Vectors angekommen ist und dann wieder von vorne anfängt.
Dein Aufruf wäre dann also:
Code:
plot(W(J,1),W(J,2),colorVec(i));

Je nachdem wieviele touren du berechnet hast, kannst du noch einen zweiten Vektor mit der Art der Linie definieren und wenn du einmal durch den Farbvektor gelaufen bist, einfach auf die nächste Linienart gehen...
Müßte eigentlich so funktioniern.
Viel Spaß beim ausprobieren!
Private Nachricht senden Benutzer-Profile anzeigen
 
JohnnyCash
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 22.07.09
Wohnort: ---
Version: 2009b
     Beitrag Verfasst am: 15.12.2009, 19:54     Titel:
  Antworten mit Zitat      
hey,
cool danke genau soetwas hab ich gesucht.
Noch eine Frage, wie würde ein Vektor der unterschiedliche Linienarten beinhaltet aussehen und wie kann ich dann die beiden Vektoren (also Farb- und Lienienvektor) mit einander verbinden?

Grüße,
Johannes
Private Nachricht senden Benutzer-Profile anzeigen
 
ouglin
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 15.12.09
Wohnort: München
Version: ---
     Beitrag Verfasst am: 15.12.2009, 20:02     Titel:
  Antworten mit Zitat      
Alle LinienArten findest du in der Hilfe wenn du nach "LineStyle" suchst.
Dann einfach die gewünschten "Zeichen" auch jeweils als String genauso wie die Farbbezeichnungen in einen Vektor styleVec schreiben. Bsp:
Code:
styleVec=['+';'o';'*'];


... beide Vektoren verbinden? naja, also man könnte sie zusammen in einem zweispaltigen Vektor definieren, aber du meinst das sicher anders:
dazu benötigst du dann zwei Laufvariablen (zusätzlich zu der einen, die du eh schon hast) die erste Laufvariable (i) ist für die Farbe und läuft einmal komplett durch und wenn du i wieder 1 setzt, dann erhöhst du die zweite Laufvariable (zB. j) um eins. Das müßte für ein paar Touren reichen.
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.