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

Unterschiedliche Schrift bei Achsen

 

schwäbmän

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2014, 09:57     Titel: Unterschiedliche Schrift bei Achsen
  Antworten mit Zitat      
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

[AX,H1,H2] = plotyy(0,0,0,0,'plot');

set(AX(1),'ylim', [0 3],'ytick',[0:0.3:2.1],'xtick',[],'FontSize',14);
set(AX(2),'ylim', [-2 4],'ytick',[0:0.2:1], 'xtick',[]);
set(AX(1),'Box','off');

AX3=axes('Position',get(AX(1),'Position'));
set(AX3,'ytick',[],'xtick',[0:25:200],'FontSize',14, 'Visible','on');

 


Bin für jede Hilfe dankbar!

Grüßle
schwäbmän


schwäbmän

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2014, 15:00     Titel:
  Antworten mit Zitat      
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 = [12 7]; % Breite und Höhe in cm
diaPosition = [1.5 11]; % Abstand vom linken und unteren Blattrand in cm
diaRangeX = [0 200]; % Wertebereich der x-Achse
diaScaleX = [0:25:200]; % Skalierung der x-Achse
diaRangeY = [-0.1 2.2]; % Wertebereich der y-Achse
diaScaleY = [0:0.3:2.1]; % Skalierung der y-Achse
diaRangeYsec = [-0.1 2.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);

set (AX(1), 'ylim', diaRangeY);
set (AX(2), 'ylim', diaRangeYsec);
set (xAxis, 'ylim', diaRangeY);

set (AX(1), 'ytick', diaScaleY);
set (AX(2), 'ytick', diaScaleYsec);
set (xAxis, 'xtick', diaScaleX, 'FontSize',14);

set (AX(2), 'XAxisLocation','top');
set (AX(1), 'box','off');
 
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.03.2014, 10:25     Titel:
  Antworten mit Zitat      
Hallo schwäbmän,

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
Private Nachricht senden Benutzer-Profile anzeigen
 
schwäbmän

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.03.2014, 12:44     Titel:
  Antworten mit Zitat      
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ß
 
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.