Tabellen und Grafiken erstellen und anordnen
kannstmasehn
Forum-Century
Beiträge: 165 Registriert: Mo 5. Mai 2014, 16:55
Beitrag
von kannstmasehn » Mo 4. Sep 2017, 16:39
Hallo,
ich möchte zwei Graphen nebeneinander in einer Zeile anordnen. Wenn ich diese nun über tikzpicture skaliere, verändert sich auch die Schriftgröße der Achsenbezeichnungen. Wieso bleibt die Schriftgröße nicht erhalten? Das muss ja ein Problem von Subfloat sein, weil es ohne subfloat funktioniert. Wie kann ich das hinbekommen, dass die Achsenbezeichnungen die gleiche Schriftgröße haben wie der restliche Text im Dokument?
\documentclass{article}
\usepackage{pgfplots}
\usepackage[caption=false]{subfig}
\usepackage{siunitx}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{figure}[tbph]
\centering
\subfloat[Eins]{
\begin{tikzpicture}[scale=0.6,baseline=(current axis.south)]
\begin{axis}[%
scale only axis,
xlabel=Xxx,
ylabel=Yyy,
]
\addplot table[row sep=crcr]{%
0 0\\
1 1\\
};
\addlegendentry{1}
\addplot table[row sep=crcr]{%
0 0\\
2 1\\
};
\addlegendentry{2}
\addplot table[row sep=crcr]{%
0 0\\
3 2\\
};
\addlegendentry{3}
\end{axis}
\end{tikzpicture}%
}
\subfloat[Zwei]{
\begin{tikzpicture}[scale=0.6,baseline=(current axis.south)]
\begin{axis}[%
scale only axis,
xlabel={Xxx},
ylabel=Yyy,
]
\addplot table[row sep=crcr]{%
0 0\\
1 1\\
};
\addlegendentry{1}
\addplot table[row sep=crcr]{%
0 0\\
2 1\\
};
\addlegendentry{2}
\addplot table[row sep=crcr]{%
0 0\\
3 2\\
};
\addlegendentry{3}
\end{axis}
\end{tikzpicture}%
}
\end{figure}
\end{document}
Vielen Dank im Voraus.
Gast
Beitrag
von Gast » Mo 4. Sep 2017, 16:53
\subfloat hat bei mir keinen Einfluss auf die Achsenbeschriftung.
BTW: Du solltest immer direkt nach dem Laden von pgfplots Option compat einstellen. Siehe dazu die [d]pgfplots[/d]-Anleitung.
kannstmasehn
Forum-Century
Beiträge: 165 Registriert: Mo 5. Mai 2014, 16:55
Beitrag
von kannstmasehn » Mo 4. Sep 2017, 17:00
Hmm stimmt, bei mir auch nicht. Wie kann ich trotzdessen die Schriftgröße anpassen innerhalb des floats?
Gast
Beitrag
von Gast » Mo 4. Sep 2017, 18:44
Du könntest auf die Skalierung der tikzpicture einfach verzichten und stattdessen der axis-Umgebung eine feste Breite oder eine Breite in Abhängigkeit der \axisdefaultwidth geben. Die Höhe kann dann wiederum proportional angepasst werden.
\documentclass{article}
\usepackage{pgfplots}
\usepackage[caption=false]{subfig}
\usepackage{siunitx}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{figure}[tbph]
\centering
\subfloat[Eins]{
\begin{tikzpicture}[baseline=(current axis.south)]
\begin{axis}[%
xlabel=Xxx,
ylabel=Yyy,
width=0.7*\axisdefaultwidth,
height={}
]
\addplot table[row sep=crcr]{%
0 0\\
1 1\\
};
\addlegendentry{1}
\addplot table[row sep=crcr]{%
0 0\\
2 1\\
};
\addlegendentry{2}
\addplot table[row sep=crcr]{%
0 0\\
3 2\\
};
\addlegendentry{3}
\end{axis}
\end{tikzpicture}%
}
\subfloat[Zwei]{
\begin{tikzpicture}[baseline=(current axis.south)]
\begin{axis}[%
width=0.7*\axisdefaultwidth,
height={},
xlabel={Xxx},
ylabel=Yyy,
]
\addplot table[row sep=crcr]{%
0 0\\
1 1\\
};
\addlegendentry{1}
\addplot table[row sep=crcr]{%
0 0\\
2 1\\
};
\addlegendentry{2}
\addplot table[row sep=crcr]{%
0 0\\
3 2\\
};
\addlegendentry{3}
\end{axis}
\end{tikzpicture}%
}
\end{figure}
\end{document}