Serifenlose Schrift an Achsen-Tick-Labels (pgfplots)

Schriftbild, Absätze und Auflistungen einstellen


Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Serifenlose Schrift an Achsen-Tick-Labels (pgfplots)

Beitrag von Seban »

Hallo zusammen,

Die gewünschte Schriftart für den Text eines Dokumentes ist uarial, serifenlos. Nun habe ich mittels [d]pgfplots[/d] Diagramme erstellt, deren Tick-Labels nicht serifenlos dargestellt werden. Dies scheint daran zu liegen, dass diese Werte sich in einer Mathematikumgebung befinden.

Mit Hilfe des Paketes [d]sansmath[/d] kann man die Schrift der Mathematikumgebung auf serifenlos ändern, allerdings funktioniert dies nicht bei Verwendung von uarial, aber wohl bei Verwendung von zB. helvet. Ich kann helvet jedoch nicht dokumentweit nutzen, uarial soll es sein.

Ist es möglich, mit uarial doch serifenlose Tick-Labels zu erzeugen oder alternativ nur die Tick-Labels mit helvet zu formatieren?

Vielen Dank für's Lesen & eure Hilfe.

Hier ein Beispiel:
\documentclass{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[scaled]{uarial}
	\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

%\usepackage{helvet}
\usepackage{sansmath}

\usepackage{pgfplots}
	\pgfplotsset{compat=1.16}
	
\begin{document}

	\begin{figure}
		\centering
		
		\begin{tikzpicture}
			\begin{axis}[
				ybar,											% lädt vordefiniertes Layout für Balkendiagramme
				width=0.9\textwidth, height=0.33\textheight,	% Breite, Höhe der Abbildung
				enlarge x limits=0.02,							% Abstand links und rechts der Balken 
				xlabel={x-Achsen-Beschriftung},					% x-Achsen-Beschriftung
				ylabel={y-Achsen-Beschriftung},		 			% y-Achsen-Beschriftung
				xtick={2,4,...,50},								% x-Achsen-Werte
				xtick pos=left,									% x-Achse hat nur unten Ticks
				ymin=0,											% kein Abstand zw. Balken und x-Achse
				ymajorgrids=true,								% horizontale Linien an Ticks der y-Achse einfügen
				ticklabel style={font=\sansmath\sffamily},		% Achsen-Beschriftung serifenlos, verwendet Paket sansmath & Schrift helvet
				ticklabel style={/pgf/number format/.cd, fixed, use comma},	% Keine Skalierung (fixed), Komma als Dezimaltrennzeichen
			]
			
			\addplot+ [					% Plot hinzufügen
				ybar,						% Diagrammtyp: vertikales Balkendiagramm
				bar width=4pt				% Breite der Balken
			] table {					% Daten einlesen
				2	0.12
				3	0.76
				4	0.06
				5	5.20
				6	0.03
				7	1.36
				8	0.02
				9	0.09
				10	0.02
				11	0.64
				12	0.01
				13	0.30
				14	0.01
				15	0.15
				16	0.00
				17	0.23
				18	0.00
				19	0.12
				20	0.00
				21	0.03
				22	0.00
				23	0.10
				24	0.00
				25	0.06
				26	0.00
				27	0.01
				28	0.00
				29	0.03
				30	0.00
				31	0.04
				32	0.00
				33	0.01
				34	0.00
				35	0.02
				36	0.00
				37	0.01
				38	0.00
				39	0.01
				40	0.00
				41	0.01
				42	0.00
				43	0.01
				44	0.00
				45	0.01
				46	0.00
				47	0.05
				48	0.00
				49	0.06
				50	3.33
			};
			
			\end{axis}
		\end{tikzpicture}
		
		\caption[]{Bildunterschrift}
		\label{fig:bsp} 
	\end{figure}

\end{document}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Wenn Du hier und in anderen Foren nach uarial suchst, findest Du schon nach kurzer Zeit Empfehlungen für den Wechsel zu LuaLaTeX oder XeLaTeX. In diesem Fall kannst Du auf sansmath verzichten und benutzt stattdessen fontspec und unicode-math. Wegen eventueller Probleme mit der Kodierung solltest Du diese Änderung zur Sicherheit an Kopien Deiner Dateien vornehmen.

Durch Deine Zuweisung für width stehen die Zahlen an der x-Achse sehr dicht beieinander. Auch ohne den Faktor hätte das Diagramm in diesem Beispiel noch genug Platz.

use comma kann auch schon in der Präambel gesetzt werden.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wenn es nur um die Beschriftung der Ticks geht: für die kannst Du verhindern, dass sie im Mathemodus ausgegeben werden: fügen assume math mode zu den Einstellungen für number format für die Beschriftungen hinzu. Das verhindert, dass automatisch in den Mathemodus gewechselt wird.
\documentclass{scrreprt} 
\usepackage[ngerman]{babel} 
\renewcommand*\familydefault{\sfdefault} 
\usepackage[T1]{fontenc}
\usepackage[scaled]{uarial} 
\usepackage[ansinew]{inputenc} 

\usepackage{pgfplots} 
\pgfplotsset{compat=1.16} 

\begin{document} 
\begin{figure} 
  \centering 
  \begin{tikzpicture} 
     \begin{axis}[ 
        ybar,
        width=0.9\textwidth, height=0.33\textheight,
        enlarge x limits=0.02,
        xlabel={x-Achsen-Beschriftung},
        ylabel={y-Achsen-Beschriftung},
        xtick={5,10,...,50},% <- geändert: weniger ticks an x-Achse
        xtick pos=left,
        ymin=0,
        ymajorgrids=true,
        ticklabel style={/pgf/number format/.cd, fixed, use comma,
          assume math mode% <- ergänzt
        }
    ]
      \addplot+ [bar width=4pt] table {
          2   0.12 
          5   5.20 
          7   1.36 
          50   3.33 
      }; 
    \end{axis} 
  \end{tikzpicture} 
  \caption[]{Bildunterschrift} 
  \label{fig:bsp} 
\end{figure} 
\end{document}
Bild
Dateianhänge
gl_ticklabels.png
gl_ticklabels.png (13.59 KiB) 2890 mal betrachtet

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Vielen Dank für eure Hilfe, Bartman und esdd!

Eine Umstellung weg von pdflatex scheint mir momentan nicht sinnvoll, da das Dokument wie gewünscht dargestellt wird. Kein Grund mir mehr Arbeit zu machen, gibt ohnehin immer mehr zu tun als möglich :/

Die restlichen Anmerkungen habe ich beherzigt, danke noch mal.

Hier das korrigierte Beispiel:
\documentclass{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[scaled]{uarial}
	\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

\usepackage{pgfplots}
	\pgfplotsset{
		compat=1.16,									% Kompatibilität einstellen
		ticklabel style={/pgf/number format/.cd, 		% Tick-Label anpassen:
			use comma,										% Komma als Dezimaltrennzeichen
			assume math mode								% Verhindert Wechsel in Mathemodus (Tick-Labels in Standardschriftart)
		}
	}
	
\begin{document}

	\begin{figure}
		\centering
		
		\begin{tikzpicture}
			\begin{axis}[
				ybar,											% lädt vordefiniertes Layout für Balkendiagramme
				width=0.9\textwidth, height=0.33\textheight,	% Breite, Höhe der Abbildung
				enlarge x limits=0.02,							% Abstand links und rechts der Balken 
				xlabel={x-Achsen-Beschriftung},					% x-Achsen-Beschriftung
				ylabel={y-Achsen-Beschriftung},		 			% y-Achsen-Beschriftung
				xtick={5,10,...,50},							% x-Achsen-Werte
				xtick pos=left,									% x-Achse hat nur unten Ticks
				ymin=0,											% kein Abstand zw. Balken und x-Achse
				ymajorgrids=true,								% horizontale Linien an Ticks der y-Achse einfügen
				ticklabel style={/pgf/number format/.cd, fixed},% Tick-Label anpassen: Keine Skalierung (fixed)
			]
			
			\addplot+ [					% Plot hinzufügen
				ybar,						% Diagrammtyp: vertikales Balkendiagramm
				bar width=4pt				% Breite der Balken
			] table {					% Daten einlesen
				2	0.12
				3	0.76
				4	0.06
				5	2.20
				6	0.03
				7	1.36
				50	1.33
			};
			
			\end{axis}
		\end{tikzpicture}
		
		\caption[]{Bildunterschrift}
		\label{fig:bsp} 
	\end{figure}

\end{document}

Antworten