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

Datum in Grafik

 

daniel89
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 26.04.12
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 26.04.2012, 16:19     Titel: Datum in Grafik
  Antworten mit Zitat      
Hallo,
ich bin neu hier und habe ein Problem.
Ich möchte in meinem Plot einen bestimmten Wert über der Zeit auftragen.
Jedem Wert ist in meinem Plot einer Nummer zugeordnet und jede Nummer wiederrum einem Datum.
Ich schaffe es jetzt nicht im Plot die Nummer einem Datum zuzuordnen.
Ich habe es mit datetick schon geschafft irgendeine Zeit auf der x-Achse abzutragen, nur leider nicht die richtige.....
Ich hoffe ich konnte meine Frage präzise genug stellen.

Vielen Dank

lg daniel
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 26.04.2012, 17:36     Titel:
  Antworten mit Zitat      
Hallo

du musst zuerst die Ticks auslesen
XTicks = get(gca, 'XTick')
Dann die Nummer in XTicks dem Datum zuordnen
Datum mit DATENUM ins Zahlenformat übersetzen und die Ticks ersetzen
danach erst kannst du DATETICK benutzen

schaue dir dieses Beispiel aus Matlab Hilfe genauer an:
Code:

startDate = datenum('01-01-2009')
% Select an ending date:
endDate = datenum('12-31-2009')
% Create xdata to correspond to the number of
% months between the start and end dates:
xData = linspace(startDate,endDate,12);
% For this example, plot random data:
plot(xData,rand(1,12))
% Set the number of XTicks to the number of points
% in xData:
set(gca,'XTick',xData)

% Convert the x tick labels to month names, keeping
% the total number of ticks by using the 'keepticks'
% option:
datetick('x','mmm','keepticks')
 
Private Nachricht senden Benutzer-Profile anzeigen
 
daniel89
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 26.04.12
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 03.05.2012, 11:08     Titel:
  Antworten mit Zitat      
ok ich bin schon einen ganzen schritt weiter
im moment ist mein problem, dass ich eine Matrix vom typ cell habe
ich kann mit startDate und endDate den ID-Nummern das passende Datum zuordnen beim plotten allerdings nicht weiterkomme da die werte auf der y-achse vom typ double sind.....

danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 05.05.2012, 07:55     Titel:
  Antworten mit Zitat      
Hallo du sollst auch nicht die Zahlenwerte der Ticks ersetzen sondern die Namen
Dazu schaue XtickLabel-Property von Axes an:
Code:
set(gca,'XtickLabel',neuenamen)
Private Nachricht senden Benutzer-Profile anzeigen
 
daniel89
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 26.04.12
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 16.05.2012, 10:48     Titel:
  Antworten mit Zitat      
Danke für den Tipp, es hat endlich geklappt.
Kannst du mir noch einen letzten Tipp geben:
Habe meine x-Achse jetzt voller verdichteter Datumsanzeigen.
Kann man einstellen, dass nur jedes 4. Datum (zB) angezeigt wird?

THX
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.05.2012, 12:43     Titel:
  Antworten mit Zitat      
Ja, das kannst in dem du vorher die TICKs reduzierst
Code:

alte_ticks= get(gca,'Xtick')
set(gca,'XTick',alte_ticks(1:3:end))
set(gca,'XtickLabel',neuenamen(1:3:end))
 


Code:

% z.B alte Ticks
plot(1:12,rand(1,12))
alte_ticks = 1:12
neu_ticks = alte_ticks(1:2:end)
set(gca,'XTick',neu_ticks)

neuenamen = {'Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'}
set(gca,'XtickLabel',neuenamen(neu_ticks))

 
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.