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

Graph verschieden farbig plotten

 

longi
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 12.08.11
Wohnort: Schwerin
Version: R2007b
     Beitrag Verfasst am: 14.09.2011, 13:38     Titel: Graph verschieden farbig plotten
  Antworten mit Zitat      
Hallo,

ich habe eine Variable 'Fahrzeit', die ich plotten möchte.
Code:

Fahrzeit =

00:26
00:58
00:25
00:32
00:48
00:22
00:29
01:16
00:23
00:27
00:47
00:17
00:21
00:27
00:28
00:43
00:26
00:34
00:28
00:59
00:18
 

Dies ist so auch möglich.

Code:

plot(datenum((Fahrzeit),'HH:MM'),'k')
 


Nun möchte ich aber, das zb. ab 20min gelb und ab 40min rot dargestellt wird. Muss ich das ganze über eine Schleife realisieren ? Vermutlich gibt es da auch Probleme, da Fahrzeit als char vorliegt ?!
Private Nachricht senden Benutzer-Profile anzeigen


Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 14:21     Titel:
  Antworten mit Zitat      
Hi,
was hältst du davon?

Code:

x=datenum(Fahrzeit,'HH:MM');
figure,patch([1:13,13:-1:1]',[x; flipud(x)],[x;flipud(x)],'edgecolor','interp')
datetick('y','HH:MM'); % Zeitlabel an der Y-Achse

 


Mit colormap kannst du nun die Farbgebung ändern (siehe help colormap)
 
longi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 12.08.11
Wohnort: Schwerin
Version: R2007b
     Beitrag Verfasst am: 14.09.2011, 14:39     Titel:
  Antworten mit Zitat      
Werd ich leider nicht ganz schlau draus. Der Plot soll in der GUI ausgegeben werden. Bei dieser Variante kommt ein neues Figure1 Fenster ohne Inhalt ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 14:50     Titel:
  Antworten mit Zitat      
Und wenn du das figure einfach weglässt? Das macht nur ein neues Fenster auf und setzt es als current figure (da wird dann reingeplottet)
 
longi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 12.08.11
Wohnort: Schwerin
Version: R2007b
     Beitrag Verfasst am: 14.09.2011, 15:00     Titel:
  Antworten mit Zitat      
Code:

??? Error using ==> patch
Vectors must be the same lengths.

Error in ==> daim>Zeichnung_Callback at 51
patch([1:13,13:-1:1]',[x;
flipud(x)],[x;flipud(x)],'edgecolor','interp')
 


wofür steht denn die 13 ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 15:19     Titel:
  Antworten mit Zitat      
Achja richtig, das war die Anzahl der Fahrtzeiten,
ersetzt das mal durch length(x)
 
longi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 12.08.11
Wohnort: Schwerin
Version: R2007b
     Beitrag Verfasst am: 14.09.2011, 15:37     Titel:
  Antworten mit Zitat      
Ok, schaut schon mal gut aus. Weiß aber nicht ob das für mich geeignet ist, da ich anscheinend die Farbverläufe so hin nehmen muss und nicht selbst definieren kann. Oder ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 15:40     Titel:
  Antworten mit Zitat      
Über die Colormap kannst du die festlegen.

Einfach mal help colormap anschauen.
 
longi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 12.08.11
Wohnort: Schwerin
Version: R2007b
     Beitrag Verfasst am: 14.09.2011, 15:45     Titel:
  Antworten mit Zitat      
Sorry..hast du ja bereits geschrieben. Vielen Dank !
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 16:13     Titel:
  Antworten mit Zitat      
Noch eine Ergänzung:

Du hast mit den Farbverläufen durchaus recht, "50 min" wird nicht immer die gleiche Farbe haben, dass liegt an der Arbeitsweise der Colormaps, sie verteilen die Farben linear zwischen dem höchsten und dem niedrigsten Wert,
es macht also einen Unterschied ob die niedrigste Fahrtzeit 10 min oder 40 min beträgt.

Wenn du das umgehen möchtest, könntest du minimale und maximale Fahrtzeiten festlegen und diese außerhalb des Sichtbereichs plotten.
Dann haben "50 min" immer die gleiche Farbe.

Code:

% dummyplot für minimale Farbzeit
patch(0,datenum('00:00','HH:MM'),datenum('00:00','HH:MM'),'edgecolor','interp');
hold on;
% dummyplot für maximale Fahrtzeit
patch(0,datenum('02:00','HH:MM'),datenum('02:00','HH:MM'),'edgecolor','interp');

% normale Fahrzeiten
patch([1:length(x),length(x):-1:1]',[x; flipud(x)],[x;flipud(x)],'edgecolor','interp');
datetick('y','HH:MM'); % Zeitlabel an der Y-Achse

% dummyplots aus dem Sichtbereich schieben
xlim([1,length(x)+1]);



 
 
longi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 12.08.11
Wohnort: Schwerin
Version: R2007b
     Beitrag Verfasst am: 16.09.2011, 17:03     Titel:
  Antworten mit Zitat      
mmh..jetzt bin ich verwirrt. Ziel ist es dass Zeiten zb. unter 20min die Farbe schwarz bekommen und über 20 min rot. Also ohne Farbverlauf - nicht viele verschiedene, sondern nur 2 Farben.
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.