겹치는 두 개의 pgfplot을 정렬하는 방법은 무엇입니까?

겹치는 두 개의 pgfplot을 정렬하는 방법은 무엇입니까?

나는 pgfplots를 처음 접했습니다.

저는 두 가지를 그래프로 그려서 나란히 표시하려고 합니다. 그러나 하위 그림을 사용하면 플롯(및 축 레이블)이 겹칩니다. 이 문제를 어떻게 해결할 수 있나요?

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

답변1

문제는 \begin{tikzpicture}[scale=0.65]글꼴의 크기가 너무 작아서 더 작게 보인다는 것입니다. 대신 width에서 제공하는 옵션을 사용하여 플롯의 너비를 조정할 수 있습니다 pgfplots. 다음을 추가하여 모든 플롯에 대해 이를 만들 수 있습니다.

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

또는 특정 플롯에 대해서만 다음과 같은 `축 옵션에 추가하여

\begin{축}[ 너비=2in, ymin=0, xmin=0, . .

이제 글꼴은 동일한 크기로 유지됩니다. 또한 scale only axis,눈금 레이블을 고려하지 않고 축만 크기를 조정할 수도 있습니다 . 마지막으로 추가하고 싶은 사항이 있을 수 있습니다.

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

레이블이 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}

여기에 이미지 설명을 입력하세요

답변2

둘 다에 사용

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

관련 정보