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

zwei timescale plots in einem diagram

 

Hubsi
Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 31.03.08
Wohnort: Hamburg
Version: R2007b
     Beitrag Verfasst am: 17.04.2008, 22:08     Titel: zwei timescale plots in einem diagram
  Antworten mit Zitat      
Hallo,

ist es möglich zwei unterschiedliche plot(ts) in einem diagram darzustellen wobei die y-achsen unterschiedlich skaliert sein müssen, also quasi sowas wie poltyy(ts1,ts2). leider funktioniert das so direkt nicht.

die parameter die über der zeit aufgetragen werden stammen einmal aus einer strahlprofilmessung und zum anderen aus einer temperaturmessung.
Die Zeiten wann beide gemessen werden sind unterschiedlich, d.h. das strahlprofil wird auf +- 1sek genau gemessen und das im regelmäsigem abstand z.b. alle 15sek. die temperaturmessung ist unterschiedlich, das kann mal alle 2sek mal alle 20sek sein, daher muss das hier umbedingt ein timescale plot sein.

greetings
Private Nachricht senden Benutzer-Profile anzeigen


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 18.04.2008, 09:15     Titel:
  Antworten mit Zitat      
Hallo Hubsi,

Du musst die Zeitvektoren mit angeben:

Code:
x1=0:15:150;        % Messzeiten Strahlprofil
ts1=1000*x1.^2+200*x1.^3;
x2=[0 1 20 50 51 54 69 75 121 135];     % Messzeiten Temperatur
ts2=3*x2+52;
plotyy(x1,ts1,x2,ts2);



Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Hubsi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 31.03.08
Wohnort: Hamburg
Version: R2007b
     Beitrag Verfasst am: 18.04.2008, 10:38     Titel:
  Antworten mit Zitat      
MOIN

naja so ist das ja ein ganz normaler plotyy befehl. Bei mir sieht ts aber so aus
Zitat:

Time Data-Profil Quality
---------------------------------------------------
18:35:07 0.0001445
18:35:22 0.001025
18:35:37 0.0006979
18:35:52 0.0008303
18:36:06 0.001798
18:36:22 0.0008408
18:36:37 0.0008522
18:36:51 0
18:37:07 0.0008981
18:37:22 0.0005299
18:37:37 0.0001145
18:37:52 0.000609
18:38:07 0.0008939
18:38:21 0.0004473
18:38:37 0.001269


und das andere entsprechend nur mit anderen zeiten. und das muss geplottet werden. ich könnte zwar auch die zeitabstände angeben, aber für eine messung die teilweise mehr als 24h läuft ist es wichtig die zeitpunkte und nicht die abstände zu kennen, damit man nachvollziehen kann was da passiert ist.

und so wie das im moment aussieht funktioniert das glaube ich sogar, allerdings wenn ich den zweiten plot mache legt matlab einfach eine weiße fläche über den ersten plot. hab das nur zufällig gesehn weil ein messwert auf der x achse liegt und daher etwas rausschaut.

Code:
figure

dataProfil = outcome(:,i);
timeProfil = datestr(outcome(:,2));

tsProfil   = timeseries(dataProfil, timeProfil);
getabstime(tsProfil);
tsProfil.TimeInfo.Format = 'HH:MM:SS';

plot(tsProfil,'*r')


filename='filename-Temp';

fid  = fopen(filename,'r');
C    = textscan(fid, '%c %s %f %s %f %s %f %f %f','HeaderLines',3);
a    = datenum(C{2},'HH:MM.SS');
timeTemp    = datestr(a);
dataTemp    = C{8};

axData = gca;
axTemp = axes('Position',get(axData,'Position'),...
'XAxisLocation','top','YAxisLocation','right',...
'Color','none','XColor','g','YColor','g');

tsTemp   = timeseries(dataTemp,timeTemp);
getabstime(tsTemp);
tsTemp.TimeInfo.Format = 'HH:MM:SS';

plot(tsTemp,'+g')
set(gca,'XAxisLocation','top','YAxisLocation','right');


Zitat:

Time Data-Temp Quality
---------------------------------------------------
18:34:52 25.18
18:34:55 25.35
18:35:00 25.18
18:35:14 25.35
18:35:16 25.18
18:35:32 25.35
18:35:40 25.18
18:35:45 25.35
18:35:49 25.18
18:35:55 25.35
18:36:04 25.18
18:36:25 25.35
18:36:44 25.18
18:39:25 25.18
18:39:34 25.23


vielleicht ist es so etwas besser verständlicher
Private Nachricht senden Benutzer-Profile anzeigen
 
mauskill2
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 05.07.07
Wohnort: bei Paderborn
Version: R2007a
     Beitrag Verfasst am: 18.04.2008, 10:49     Titel:
  Antworten mit Zitat      
Zitat:
und so wie das im moment aussieht funktioniert das glaube ich sogar, allerdings wenn ich den zweiten plot mache legt matlab einfach eine weiße fläche über den ersten plot. hab das nur zufällig gesehn weil ein messwert auf der x achse liegt und daher etwas rausschaut.


Das der den Plot übermalt wird kann man mit hold on und hold off unterbinden. Ich denke auch das suchst du...dann hast du unten nur eine Zeitachse die für beide plots gilt.

Code:

...
plot(tsProfil,'*r')

hold on

...
plot(tsTemp,'+g')
set(gca,'XAxisLocation','top','YAxisLocation','right');

hold off

 


Grüße
Mauskill2
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubsi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 31.03.08
Wohnort: Hamburg
Version: R2007b
     Beitrag Verfasst am: 18.04.2008, 11:01     Titel:
  Antworten mit Zitat      
ne leider nicht,
hab das auch schon mit eingefügt

hab mal das diagram hochgeladen wie das im moment aussieht.
unten und oben sieht man noch zwei punkte des plot(tsProfil,'*r')

untitled.jpg
 Beschreibung:

Download
 Dateiname:  untitled.jpg
 Dateigröße:  23.15 KB
 Heruntergeladen:  697 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubsi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 31.03.08
Wohnort: Hamburg
Version: R2007b
     Beitrag Verfasst am: 18.04.2008, 13:05     Titel:
  Antworten mit Zitat      
ok hold on war doch der richtige befehl, nur hatte ich ihn an der falschen stelle gesetzt bzw. hätte ihn zusätzlich nochmal direkt vor den zweiten plot befehl stellen müssen
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.