Ich bin ziemlich neu bei pgfplots.
Ich versuche, zwei Dinge grafisch darzustellen und sie nebeneinander darzustellen. Wenn ich jedoch Subfigure verwende, überlappen sich meine Diagramme (und Achsenbeschriftungen). Wie kann ich das beheben?
\documentclass{amsart}
\usepackage{amsthm, amsfonts, amsmath, amssymb, mathrsfs, enumerate,graphicx}
\usepackage{pgfplots} %For creating plots inside LaTeX itself
\usepackage{subcaption} %To create subfigures
\begin{document}
\begin{figure}
\centering
\begin{subfigure}{.45\linewidth}\centering
\begin{tikzpicture}
\begin{axis}[
ymin=0, xmin=0,
%grid=major, % activate major grid lines
xlabel=$\text{radius, }r$,
ylabel=$\text{concentration, }c$,
title={Steady state concentration},
title style={yshift=1.5ex},
axis on top, % descriptions over filled area
legend pos=outer north east, % customize legend
]
\addplot[smooth,blue,domain=0.5:2]
{((1-0.00167)*ln(x)+0.00167*ln(0.5)-1*ln(2))/(ln(0.5)-ln(2))} ;
\end{axis}
\end{tikzpicture}
\caption{Steady state species concentration profile. }
\end{subfigure}
\begin{subfigure}{.45\linewidth}\centering
\begin{tikzpicture}
\begin{axis}[
ymin=0, xmin=0,
xlabel=$\text{radius, }r$,
ylabel=$\text{chemical potential, }\mu^{c^*}$,
title={Steady state chemical potential},
title style={yshift=1.5ex},
axis on top, % descriptions over filled area
legend pos=outer north east, % customize legend
]
\addplot[smooth,blue,domain=0.5:2]
{8.31*310*ln(((1-.00167)*ln(x)+.00167*ln(0.5)-1*ln(2))/(ln(0.5)-ln(2))/.00167)} ;
\end{axis}
\end{tikzpicture}
\caption{Steady state chemical potential profile}
\end{subfigure}
\caption{Illustration of analytical steady state solution.}
\end{figure}
\end{document}
Antwort1
Das Problem dabei \begin{tikzpicture}[scale=0.65]
ist, dass die Schriftarten ebenfalls skaliert werden, sodass sie kleiner aussehen. Sie können stattdessen die Breite der Diagramme mit der width
von bereitgestellten Option anpassen pgfplots
. Sie können dies für alle Diagramme tun, indem Sie hinzufügen
\usepackage{pgfplots} %For creating plots inside LaTeX itself
\pgfplotsset{width=2in} %%<-------------------- this
oder nur für bestimmte Diagramme, indem Sie es zu den Achsenoptionen hinzufügen wie
\begin{axis}[ Breite=2Zoll, ymin=0, xmin=0, . .
Jetzt bleiben die Schriftarten in derselben Größe. Außerdem können Sie scale only axis,
nur die Achse skalieren, ohne die Teilstrichbeschriftungen zu berücksichtigen. Und schließlich möchten Sie vielleicht hinzufügen
ylabel style={overlay, anchor=north,}, %%% <-- this added
sodass die Beschriftungen etwas näher an der Y-Achse liegen.
\documentclass{amsart}
\usepackage{amsthm, amsfonts, amsmath, amssymb, mathrsfs, enumerate,graphicx}
\usepackage{pgfplots} %For creating plots inside LaTeX itself
\usepackage{subcaption} %To create subfigures
%\pgfplotsset{width=2in}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}{.45\linewidth}\centering
\begin{tikzpicture}
\begin{axis}[
width=\linewidth, %%<----- here
scale only axis, %%% <-- this added
ymin=0, xmin=0,
%grid=major, % activate major grid lines
xlabel=$\text{radius, }r$,
ylabel=$\text{concentration, }c$,
ylabel style={overlay, anchor=north,}, %%% <-- this added
title={Steady state concentration},
title style={yshift=1.5ex},
axis on top, % descriptions over filled area
legend pos=outer north east, % customize legend
]
\addplot[smooth,blue,domain=0.5:2]
{((1-0.00167)*ln(x)+0.00167*ln(0.5)-1*ln(2))/(ln(0.5)-ln(2))} ;
\end{axis}
\end{tikzpicture}
\caption{Steady state species concentration profile. }
\end{subfigure}%
\hfill
\begin{subfigure}{.45\linewidth}\centering
\begin{tikzpicture}
\begin{axis}[
width=\linewidth, %%<-------- here
scale only axis, %%% <-- this added
ymin=0, xmin=0,
xlabel=$\text{radius, }r$,
ylabel=$\text{chemical potential, }\mu^{c^*}$,
ylabel style={overlay, anchor=north,}, %%% <-- this added
title={Steady state chemical potential},
title style={yshift=1.5ex},
axis on top, % descriptions over filled area
legend pos=outer north east, % customize legend
]
\addplot[smooth,blue,domain=0.5:2]
{8.31*310*ln(((1-.00167)*ln(x)+.00167*ln(0.5)-1*ln(2))/(ln(0.5)-ln(2))/.00167)} ;
\end{axis}
\end{tikzpicture}
\caption{Steady state chemical potential profile}
\end{subfigure}
\caption{Illustration of analytical steady state solution.}
\end{figure}
\end{document}
Antwort2
für beide verwenden
\begin{tikzpicture}[scale=0.65]
...