¿Cómo alinear dos diagramas de pgf que se superponen?

¿Cómo alinear dos diagramas de pgf que se superponen?

Soy bastante nuevo en pgfplots.

Estoy tratando de graficar dos cosas y hacer que se tracen una al lado de la otra. Sin embargo, cuando uso subfigura, mis gráficos (y etiquetas de ejes) se superponen. ¿Cómo puedo arreglar esto?

\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}

Respuesta1

El problema \begin{tikzpicture}[scale=0.65]es que las fuentes también se escalan, lo que las hace parecer más pequeñas. En su lugar, puede ajustar el ancho de los gráficos con la opción widthproporcionada por pgfplots. Puedes hacer esto para todos los gráficos agregando

\usepackage{pgfplots} %For creating plots inside LaTeX itself
\pgfplotsset{width=2in} %%<-------------------- this

o solo para gráficos específicos agregándolo a las `opciones del eje como

\begin{eje}[ ancho=2pulg, ymin=0, xmin=0, . .

Ahora las fuentes permanecen con el mismo tamaño. Además, puede scale only axis,escalar solo el eje sin considerar las etiquetas de marca. Y por último, es posible que desee agregar

ylabel style={overlay, anchor=north,},      %%% <-- this added

para que las etiquetas estén un poco más cerca del eje y.

\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}

ingrese la descripción de la imagen aquí

Respuesta2

usar para ambos

\begin{tikzpicture}[scale=0.65]
...

información relacionada