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

Schriftartänderung bei plotty

 

trigger
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 21.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.01.2016, 14:54     Titel: Schriftartänderung bei plotty
  Antworten mit Zitat      
Hallo,

ich habe ein Problem bei der Änderung einer Schriftart mit "plotty". Und zwar habe ich einen Subplot erstellt. Im vierten Quadranten des Subplots arbeite ich mit einem plotty. Dort möchte ich die Achsen mit der Schriftart Latex versehen. Für die x- und y1-Achse funktioniert das auch, für die y2-achse allerdings nicht. Wenn ich den Befehl:
Code:
set(get(AX(2),'Ylabel'),'Interpreter','latex');
verwende, wird in dem Plot gar keine Achsbeschriftung angezeigt. Kommentiere ich diesen Befehl aus, erscheint zwar eine Achsbeschriftung aber nicht in gewünschter Schriftart. Für die y1-Achse funktioniert alles einwandfrei. Hat jemand eine Idee was ich falsch mache?

Code:

AX = subplot(2,2,4);                                                  
P = get(AX,'pos');                                                      
[AX,H1,H2] = plotyy(Zeit_plot,Abgasm_lang,Zeit_plot,TSCRmittel((i_ein-2000):(i_aus+12000)),'plot');
set(AX,'pos',P);                                                

%#### erste y-achse
axis([AX(1)],[xmin xmax 70 100]);                              
set(get(AX(1),'Xlabel'));
set(AX(1),'ytick',[70 80 90 100]);                            
set(get(AX(1),'Ylabel'),'String','Abgasmassenstrom [kg/h]');    
set(get(AX(1),'Ylabel'),'Interpreter','latex');
set(get(AX(1),'Ylabel'),'FontSize',20);
set(AX(1),'YColor','k');                                                    
set(AX(1),'FontSize',16);

%####zweite y-Achse
axis([AX(2)],[xmin xmax 280 320]);                            
set(get(AX(2),'Xlabel'));
set(AX(2),'ytick',[280 290 300 310 320]);                                                      
%ylabel(AX(2), 'SCR Temperatur [°C]');
set(get(AX(2),'Ylabel'),'String','SCR Temperatur [°C]');        
%set(get(AX(2),'Ylabel'),'Interpreter','latex');
set(get(AX(2),'Ylabel'),'FontSize',16);
set(AX(2),'YColor','k');                                          

set(AX,'FontSize',16);
set(H1,'Color','c');                                            
xlabel('Zeit [s]','Interpreter','latex','FontSize',20);
grid on;
set(gca,'FontSize',16);
test3=legend([H1;H2],'Abgasmassenstrom','SCR Temperatur','Location','northwest');
set(test3, 'FontSize',12);
set(test3, 'Interpreter','latex');
 
Private Nachricht senden Benutzer-Profile anzeigen


trigger
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 21.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2016, 08:28     Titel:
  Antworten mit Zitat      
Hat niemand eine Idee? Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 25.01.2016, 11:12     Titel: Re: Schriftartänderung bei plotty
  Antworten mit Zitat      
Hallo trigger,

Ich vereinfache den Code etwas, vielleicht wird das Problem dann sichtbar:
Code:
AX1 = subplot(2,2,4);                                                  
[AX, H1, H2] = plotyy(AX1, Zeit_plot,Abgasm_lang,Zeit_plot,TSCRmittel((i_ein-2000):(i_aus+12000)));

%#### erste y-achse
set(AX(1), 'XLim', [xmin xmax], 'YLim', [70 100]);
% set(get(AX(1),'Xlabel'));  % Weglassen, denn das tut gar nichts!
set(AX(1), 'ytick', [70 80 90 100]);                            
set(get(AX(1),'Ylabel'),'String','Abgasmassenstrom [kg/h]', ...
     'Interpreter','latex', 'FontSize',20);
set(AX(1), 'YColor', 'k', 'FontSize',16);

%####zweite y-Achse
set(AX(2), 'XLim', [xmin xmax], 'YLim', [280 320]);                            
% set(get(AX(2),'Xlabel'));  % Weglassen!
set(AX(2), 'ytick', [280 290 300 310 320]);
set(get(AX(2),'Ylabel'), 'String', 'SCR Temperatur [°C]', ...
     'Interpreter','latex', 'FontSize',16);
set(AX(2),'YColor','k', 'FontSize',16);
set(H1,'Color','c');
xlabel('Zeit [s]','Interpreter','latex','FontSize',20);
grid on;
% set(gca,'FontSize',16);   % Überflüssig!

Bekommst Du eine Warnmeldung über den LaTeX-String im Command Window?
Vielleicht liegt es am Grad-Zeichen?
Code:
set(get(AX(2),'Ylabel'), 'String', 'SCR Temperatur [$^{\circ}$C]', ...
     'Interpreter','latex', 'FontSize',16);

Oder
Code:
set(get(AX(2),'Ylabel'), 'String', 'SCR Temperatur [{\circ}C]', ...
     'Interpreter','latex', 'FontSize',16);

Ich kann es zur Zeit nicht selbst ausprobieren.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
trigger
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 21.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2016, 12:50     Titel:
  Antworten mit Zitat      
danke für deine Antwort,
ich habe keine Fehlermeldungen oder Warnungen. Deine Vorschläge funktionieren leider auch nicht Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 25.01.2016, 13:19     Titel:
  Antworten mit Zitat      
Hallo trigger,

Bitte erkläre "funktioniert nicht" immer mit Details. Was geschieht denn?
Wir können Deinen Code nicht laufen lassen, da uns die Variablen fehlen. Kannst Du ein lauffähiges Minimal-Beispiel posten?

Versuche es mal mit einem AXES an der Standard-Position. Kannst Du den YLabel setzen mit dem Standard-Interpreter? Kannst du den Label bei einem normales AXES wie gewünscht setzen?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
trigger
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 21.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2016, 15:23     Titel:
  Antworten mit Zitat      
Hallo Jan,
folgendes Beispiel verdeutlicht das Problem. Die ersten beiden subplots dienen lediglich der Veranschaulichung. Ich möchte im dritten (unten rechts) subplot die Schriftart für SCR Temperatur auch auf Latex umstellen. Bei allen anderen Beschriftungen hat das gut funktioniert.

Code:

Zeit_plot=(1:1:10)';
NOxNach_lang=(1:1:10)';
eta_kat = (1:1:10)';
Abgasm_lang = (11:1:20);
TSCRmittel = (1:1:10);

figure;
set(gca,'FontSize',16);
subplot(2,2,1:2);
plot(Zeit_plot,NOxNach_lang,'b')
Plottext = {['Dosiergesamtmenge: '  ' mg']};
set(gca,'FontSize',16);
test1 = xlabel('Zeit [s]','Interpreter','latex');
test2 = ylabel('NOx Konzentration [ppm]','Interpreter','latex');
set(test1, 'FontSize',20);
set(test2, 'FontSize',20);
grid on;
test3=legend('NOx Konzentration nach SCR','Location','northwest');
set(test3, 'FontSize',12);
set(test3, 'Interpreter','latex');

%Bild 2 Wirkungsgrade und Zeiten
subplot(2,2,3);
plot(Zeit_plot, eta_kat, 'g');
set(gca,'FontSize',16);
set(gca,'FontSize',16);
test1=xlabel('Zeit [s]','Interpreter','latex');
test2=ylabel('Wirkungsgrad','Interpreter','latex');
set(test1, 'FontSize',20);
set(test2, 'FontSize',20);
grid on;
set(gca,'FontSize',16);
test3=legend('Wirkungsgrad berechnet','Location','southeast');
set(test3, 'FontSize',12);
set(test3, 'Interpreter','latex');

%Bild 3 Agasmassenstrom und Kat Temp
AX = subplot(2,2,4);                                                    %    Auto-fitted to the figure.
P = get(AX,'pos');                                                       % Get the position.
[AX,H1,H2] = plotyy(Zeit_plot,Abgasm_lang,Zeit_plot,TSCRmittel,'plot');
set(AX,'pos',P);                                                % Recover the position.

%#### erste y-achse
                         
set(get(AX(1),'Ylabel'),'String','Abgasmassenstrom [kg/h]');     %Beschriftung der Y-Achsen
set(get(AX(1),'Ylabel'),'Interpreter','latex');
set(get(AX(1),'Ylabel'),'FontSize',20);
set(AX(1),'YColor','k');                                                    %Farbe der Achsen
set(AX(1),'FontSize',16);

%####zweite y-Achse                                                  

set(get(AX(2),'Ylabel'),'String','SCR Temperatur [°C]');        %Beschriftung der Y-Achsen
%set(get(AX(2),'Ylabel'),'Interpreter','latex');
set(get(AX(2),'Ylabel'),'FontSize',16);
set(AX(2),'YColor','k');                                           %Farbe der Achsen

set(AX,'FontSize',16);
set(H1,'Color','c');                                            %Farbe des Massenstroms
xlabel('Zeit [s]','Interpreter','latex','FontSize',20);
grid on;
test3=legend([H1;H2],'Abgasmassenstrom','SCR Temperatur','Location','northwest');
set(test3, 'FontSize',12);
set(test3, 'Interpreter','latex');
 


Wenn ich den Code:
Code:
%set(get(AX(2),'Ylabel'),'Interpreter','latex');
 

auskommentiert lasse, erscheint SCR Temperatur aber in der falschen Schriftart. Nehme ich diesen Codeabschnitt wieder mit auf, so wird gar keine Achsbeschriftung angezeigt.
Bei deinen Vorschlägen bleibt die Beschriftung bestehen, die Schriftart ändert sich dennoch nicht in Latex.

Gruß, Tim
Private Nachricht senden Benutzer-Profile anzeigen
 
trigger
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 21.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2016, 08:28     Titel:
  Antworten mit Zitat      
Hat niemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
sandman85
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 12.03.09
Wohnort: ---
Version: R2015a
     Beitrag Verfasst am: 28.01.2016, 11:20     Titel:
  Antworten mit Zitat      
Hallo, das Problem steckt in der Verwendung des Grad-Zeichens.
Tausche deine Zeile zur Beschriftung der zweiten y-Achse gegen folgende aus und es sollte laufen:

Code:
set(get(AX(2),'Ylabel'),'String','SCR Temperatur [$^\circ$C]');


Grüße
Sandman
Private Nachricht senden Benutzer-Profile anzeigen
 
trigger
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 21.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2016, 14:17     Titel:
  Antworten mit Zitat      
Vielen Dank! Das funktioniert Cool
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.01.2016, 14:49     Titel:
  Antworten mit Zitat      
Hallo trigger,

Ist Dir aufgefallen, dass ich das schon vor 3 Tagen geantwortet hatte?
http://www.gomatlab.de/schriftartae.....plotty-t39964.html#160743

Gruß, Jan
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 - 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.