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 eines Datensatzes mit zwei y-Achsen

 

Gerbille

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2011, 21:42     Titel: Plot eines Datensatzes mit zwei y-Achsen
  Antworten mit Zitat      
Hallo,

ich versuche einen Datensatz zu plotten, welcher allerdings rechts und links mit unterschiedlichen y-Achsen versehen werden soll. Es soll nur einen einzigen Plot geben. Die Achsen sollen also somit als Skala unterschiedlicher Einheiten Daten (bspw auf der linken Seite Gramm und rechts vom Schaubild Pound).
Ich habe mich bereits mit plotyy und axes probiert, hatte aber keinen Erfolg.

Vielen Dank im Voraus


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.10.2011, 22:30     Titel: Re: Plot eines Datensatzes mit zwei y-Achsen
  Antworten mit Zitat      
Hallo Gerbille,

Dann zeige doch mal, was Du mit PLOTYY versucht hast und wieso es nicht funktioniert. Eigentlich klingt dies doch passend.

Möglicherweise kannst Du zunächst zwei Kurven Zeichnen und eine danach wieder löschen?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gerbille

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2011, 10:14     Titel:
  Antworten mit Zitat      
Hallo Jan,

Danke erstmal für den Tipp es weiter mit plotyy zu probieren. Ich hatte zwar gehofft, dass es eine elegantere Lösung gibt, habe mich jetzt aber nochmal drangesetzt und bin so weit gekommen:

Code:

y2=y.*Faktor;    %Funktion umskalieren
[AX,H1,H2]=plotyy(x,y,x,y2);
ay1=AX(1);
ay2=AX(2);
lim=get(ay1,'YLim'); %Grenzen der y-Achse bestimmen
lim2=[lim(1)*Faktor,lim(2)*Faktor] %Grenzen umrechnen
set(ay2,'YLim',lim2);; %Grenzen y2 neu setzen
marken=get(ay1,'YTick');
set(ay2,'YTick',marken);
 


Das funktioniert bis jetzt auch ganz gut.
Wie kann ich nun aber dafür sorgen, dass ich den zweiten Graphen lösche, falls er an einer Stelle sichtbar sein sollte?
Und weißt du vielleicht, was ich tun kann, damit bei meiner zweiten y-Achse die Achsenbeschriftung an den gleichen Stellen erscheint wie bei der ersten und nicht die gleichen Werte?

Gruß,
Gerbille
 
Matt Lappen
Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 23.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2011, 13:23     Titel:
  Antworten mit Zitat      
Hi,
die Handles H1,H2, ermöglichen dir das separate Editieren der Plot Eigenschaften.
Ausblenden eines Grafikelements:
Code:
set(H2,'Visible','off')
.
Eine Alternative zu plotyy, wäre die Generierung der 2. y-Achse mit text().
Hierzu die YTicks , (get(gca,'Ytick')/454) zur Beschriftung verwenden.
Beispiel:
Code:
text(max(get(gca,'Xlim'))*(ones(1,length(get(gca,'Ytick')))),get(gca,'Ytick'),...
num2cell((get(gca,'Ytick')/454)),'Horizontalalignment','left')
Private Nachricht senden Benutzer-Profile anzeigen
 
Gerbille

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.11.2011, 00:19     Titel:
  Antworten mit Zitat      
Vielen Dank euch beiden!
Der Plot sieht jetzt so aus, wie ich es haben wollte :)
 
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.