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

plot mit Datum-string auf der Zeitache

 

stsemant
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 20.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2018, 12:42     Titel: plot mit Datum-string auf der Zeitache
  Antworten mit Zitat      
Sehr geehrtes Forum,
ich weiß, dass das folgende Thema schon oft diskutiert wurde, aber ich komme einfach zu keinem Ergebnis.

Ich habe eine .csv-Datei mit einer Spalte mit einem Zeitstempel und weiteren Spalten mit dazugehörigen Messwerte, die ich auslesen möchte (kein Problem)

Nun also zum Problem:
Ich möchte die Werte plotten, auf der Zeitachse sollen die Zeitstempel sein, und zwar um 90° gedreht, weil es sonst unleserlich wird. Der Zeitstempel hat folgendes Format:
YY-MM-DD HH:MM:SS. Diesen Zeitstempeln könnte ich natürlich noch einen Zeitstempel von python hinterlegen (time.time(), Anzahl der Sekunden sei 1970, typ:float), damit octave damit arbeiten kann

Nun weiß ich ja schon, dass man dann hier mit xtick arbeiten muss. die strings werden dann also anstelle der Zahlen angezeigt.. Aber wie weiter?

Hier mein Versuch bisher (hat natürlich noch nichts mit der .csv zu tun)
Code:
close all
clear all
clc

x=[1 2 3 4 6 9]
xticklabel = ["eins";"zwei";"drei";"vier";"sechsssssssssssssss";"neun"]
y=[9 8 7 6 5 4]


plot(x,y)

## init demo plot
set(gca,'xtick',x);
set(gca,'xticklabel',xticklabel);

## get position of current xtick labels
h = get(gca,'xlabel');
xlabelstring = get(h,'string');
xlabelposition = get(h,'position');

## construct position of new xtick labels
yposition = xlabelposition(2);
yposition = repmat(yposition,length(x),1);

## disable current xtick labels
%set(gca,'xtick',[],'XLim',[XTick(1) XTick(end)]);
set(gca,'xtick',[]);

## set up new xtick labels and rotate
hnew = text(x, yposition, xticklabel);
set(hnew,'rotation',90,'horizontalalignment','right');
 


Wichtig ist außerdem, dass die Werte an derZeitachse zwar horizontal sich von einander entfernen , wenn ich reinzoome, aber trotzdem auf Höhe der Zeitachse bleiben, mit
Code:
set(gca,'xtick',[],'XLim',[XTick(1) XTick(end)]);

würde das zwar gehen, aber dann sind die Werte nicht mehr gedreht.

Was nun?
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 - 2024 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.