ich frage mich gerade ob Folgendes möglich ist:
Ich habe Daten geplottet, bei der zum Einen der Absolutwert, zum anderen aber auch die prozentuale Veränderung bezogen auf den Startwert interessant ist. Rein von den Kurven her verändert sich hierdurch nichts, nur die Beschriftung der Y-Achse. Ideal für mich wäre nun, wenn ich einfach die Y-Achse des Plots links mit den Absolutwerten und rechts mit den entsprechenden %ten beschriften könnte.
danke erstmal. Klar, plotyy wäre die funktionierende Holzhammermethode, bei der Art und Weise wie ich die Daten / Plots erzeuge irgendwie aber umständlich, ich hatte gehofft, dass es einfacher geht.
Wie mir pareto helfen soll, habe ich noch nicht ganz verstanden?
So langsam habe ich gerafft, wie pareto mir helfen soll Auf die Reihe bekommen hab ichs aber noch nicht :
Code:
clear, closeall clc
x = linspace(1,10,1000);
y = -rand(1)*sin(rand(1)*x)+cos(rand(1)*2*x);
%meine Daten sind alle Positiv
mini = min(y);
y = y+abs(mini);
first = y(1);
f1=figure holdall plot(x,y) grid on
ticks_l = get(gca,'YTick');
%prozentuale Abweichung zu den Ticks --> diese sollen dann die Ticks rechts
%werden
delta_tick = ticks_l-first;
ticks_r = 100/first*delta_tick;
ich erzeuge irgendwelche Daten und plotte diese. Lese die Limits etc. aus, berechne die neuen YTicks für die rechte Beschriftung, erzeuge ein axes Objekt (wie es auch in pareto gemacht wird)
so
und no?
- die Positionierung muss dem 1. Koordinatensystem folgen, nicht der Figure.
- das zweite XLim musste ein YLim sein
- für num2str ist ein Spaltenvektor ratsam.
stellt das Format der Zahlen ein.
Standardmäßig werden (zu?) viele Nachkommastellen angezeigt - du kannst es ja mal ausprobieren, indem du das weglässt.
Meine Legende ist von der Location her oben rechts außen und überschneidet sich nun mit der rechten Achsenbeschriftung. Wenn ich die Legende statt über Location mittels Position platziere, wird die weiße Zeichenfläche des Plots größer, quasi auf die Größe, die sie hätte, wenn die Legende innen wäre. Das will ich aber natürlich nciht.
eigentlich sollte das ja über Position geregelt werden können, oder? allerdings verändert sich bei mir über position die Größe des gesamten Fensters...
Zur interaktiven Anpassung kannst du auch die Plot Tools verwenden (in der Figure Toolbar der Button ganz rechts).
Grüße,
Harald
corvus_maximus
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 19.07.2014, 23:15
Titel: Zoom funktioniert so nicht
Ich habe eben versucht, mit diesem Code die rechte Achse zusätzlich zu beschriften. Was mir aufgefallen ist:
1) Der Plot lässt sich nicht mehr zoomen.
2) Bei einer Änderung der Größe des Plots (z.B. Fenster maximieren) verschiebt sich die rechte Achse, sodass sie nicht mehr zur linken passt.
Verfasst am: 27.07.2014, 20:31
Titel: Re: Zoom funktioniert so nicht
Hallo corvus_maximus,
Bitte poste den Code, der es erlaubt das Verhalten zu reproduzieren.
Zu 2): Füge in die ResizeFcn des Fensters die benötigten Anpassungen ein.
Gruß, Jan
Einstellungen und Berechtigungen
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
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.