Verfasst am: 12.03.2014, 09:57
Titel: Unterschiedliche Schrift bei Achsen
Hallo,
bin hier ganz neu und bräuchte natürlich gleich mal eure Hilfe.
Ist es möglich bei einem Achsenpaar die x-Achse unabhängig von der dazugehörigen y-Achse mit einer Schriftart und Schriftgröße zu versehen?
Die Zahlen an der Y-Achse sollen z.B. mit der Schriftgröße 8 und an der X-Achse mit Schriftgröße 14 dargestellt werden.
Mein Ziel ist es einen Plot zu erstellen bei dem ich insgesamt 3 Achsen habe, deren Zahlenformatierungen unabhängig voneinander einstellbar sind:
2 Y-Achsen und eine X-Achse.
Code:
% so sieht der Code dazu aus, der leider nicht so funktioniert % wie ich mir das vorstelle
habe das Problem zwar gelöst, sobald ich aber das ganze in einem Subplot mit definierter Position in der figure darstelle, verschwindet xtick komplett
Code:
% Parameter
diaSize = [127]; % Breite und Höhe in cm
diaPosition = [1.511]; % Abstand vom linken und unteren Blattrand in cm
diaRangeX = [0200]; % Wertebereich der x-Achse
diaScaleX = [0:25:200]; % Skalierung der x-Achse
diaRangeY = [-0.12.2]; % Wertebereich der y-Achse
diaScaleY = [0:0.3:2.1]; % Skalierung der y-Achse
diaRangeYsec = [-0.12.2]; % Wertebereich der sekundären y-Achse
diaScaleYsec = [0:0.3:2.1]; % Skalierung der sekundären y-Achse
% pos = subplot(2,2,1); % funktioniert aber ich benutze die zwei Zeilen % darunter
pos = subplot('Position', [diaPosition diaSize]);
set(pos ,'Units','centimeters','position',[diaPosition diaSize]);
% Leeres Diagramm mit zwei y Achsenpaaren [ AX, P, S ] = plotyy(0,0,0,0);
set(P,'Visible','off');
set(S,'Visible','off');
set(AX(1),'xtick',[]); % x Achse(1) ausgeblendet set(AX(2),'xtick',[]); % x Achse(2) ausgeblendet
% Erstellt eine sichtbare x Achse, zugehörige y Achse unsichtbar
xAxis = axes('Position',get(AX(1),'Position'),'YTick',[], 'Color','none');
%%%%%%%%%%%%%%%%%%%%%%%%%%
% AX(1) primäre y Achse % AX(2) sekundäre y Achse % xAxis x Achse
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Range aller sichtbaren und % unsichtbaren Achsen gleichgesetzt set(AX(1), 'xlim', diaRangeX);
set(AX(2), 'xlim', diaRangeX);
set(xAxis, 'xlim', diaRangeX);
Mir wird der Zweck des Codes nicht klar.
Wieso erstellst Du 4 AXES-Objekte? Einer per SUBPLOT, zwei per PLOTYY und ein weiteres mit AXES.
Dann setzt Du die XTicks von "xAxis", obwohl dies mit "Color=none" gezeichnet wird. Unsichtbare Ticks sind aber nicht hilfreich.
Benötigst Du wirklich 4 AXES-Objekte?
Gruß, Jan
schwäbmän
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 14.03.2014, 12:44
Titel:
Hallo Jan,
Es ist etwas schwierig zu erklären was ich vor habe, aber ich versuche es einfach nochmal:
Ich möchte eine Figure mit 4 Diagrammen erstellen. Die Diagramme sollen alle eine definierte Größe und Position in cm haben. Dies habe ich mit subplot realisiert. Jedes der Diagramme soll jeweils eine primäre, eine sekundäre y-Achse und eine x-Achse haben. Ich möchte die Schriftart- und Größe jeder Achse, nicht eines Achsenpaars, separat einstellen können. Das axes Objekt des subplots wird meines Wissens von plotyy überschrieben. Somit habe ich statt 4 Achsen nur 3 oder nicht?
Da die Schriftgröße- und Art der x-und y Achse eines Achsenpaars nicht separat einstellbar sind, blende ich jeweils eine Achse des Achsenpaars aus und erstelle mir eine weitere Achse mit sichtbaren Ticks aber einer anderen Schriftgröße- und Art.
Später soll mithilfe des Skripts eine große Menge von Datensätzen automatisiert erstellt werden. Dazu verwende ich line:
Code:
l=line(x,y);
set(l,'Parent',(AX(1))); %oder AX(2) % je nachdem welcher y-Achse der Datensatz zugeordnet wird % beide y-Achsen teilen sich eine x-Achse
Meine Lösung ist nicht gerade die sauberste. Möglicherweise gibt es da eine andere Möglichkeit.
Ist es vielleicht möglich die 4 Diagramme in einer Figure zu erstellen ohne subplot zu verwenden? Damit wäre mein Problem wahrscheinlich schon gelöst.
Gruß
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.