以下示例中的图的高度略有不同。能否让它们的高度相等没有 \resizebox
(会影响字体大小)或以绝对量设置高度。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{figure}[h]
\centering
\begin{tikzpicture}
\begin{axis}[
grid=major,
xmin=-3,
xmax=+5,
ymin=-0.25,
xlabel=$y$,
ylabel={$f(y)$},
width=.5\linewidth
]
\addplot[samples=101, domain=-3:5] ({x}, {2*sqrt(abs(x-1))});
\end{axis}
\end{tikzpicture}
\hspace{.05\linewidth}
\begin{tikzpicture}
\begin{axis}[
grid=major,
xlabel=$x$,
ylabel={$y_a(x)$},
width=.5\linewidth
]
\addplot[domain=0:2] {1 - (1 - x/2)^2};
\addplot[domain=2:4] {1 + (x - 2)^2/4};
\addplot[domain=2:4, dotted] {1};
\addplot[domain=4:6, dotted] {1 + (x - 4)^2/4};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
答案1
高度不同的原因是xlabels
。字符x
和y
具有不同的深度。因此,一种方法是向它们两者添加 ,\strut
就像我在 MWE 中所做的那样:
或者,您可以x\vphantom{y}
在第二个图中使用。当然,此解决方案取决于图的实际标签。
笔记:
- 您还使用了超过
\linewidth
。我已在下面更正了。
代码:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{figure}[h]
\centering
\begin{tikzpicture}
\begin{axis}[
grid=major,
xmin=-3,
xmax=+5,
ymin=-0.25,
xlabel=$y\strut$,
ylabel={$f(y)$},
width=.48\linewidth
]
\addplot[samples=101, domain=-3:5, blue, thick] ({x}, {2*sqrt(abs(x-1))});
\end{axis}
\end{tikzpicture}
\hfill%\hspace{.05\linewidth}
\begin{tikzpicture}
\begin{axis}[
grid=major,
xlabel=$x\strut$,
ylabel={$y_a(x)$},
width=.48\linewidth
]
\addplot[domain=0:2, red, thick] {1 - (1 - x/2)^2};
\addplot[domain=2:4, red, thick] {1 + (x - 2)^2/4};
\addplot[domain=2:4, red, thick, dotted] {1};
\addplot[domain=4:6, red, thick, dotted] {1 + (x - 4)^2/4};
\end{axis}
\end{tikzpicture}%
%\hfill\null{}% <-- uncomment if you don't want second plot all the way to the right
\end{figure}
\end{document}