在 pgfplots 中使用 groupplot 时,是否可以
- 指定
baseline
适用于哪个子图? - 自动设置绘图的总高度还是设置为先前绘图的高度?
具体来说,使用下面的代码,baseline
与第一个组图对齐,而不是最后一个或最南边的图。
另外,我知道高度是两倍,但我希望高度与之前的图形相同。我宁愿不为所有之前的图指定高度,而只指定宽度,这样如果我需要指定高度,也许我可以找到之前图形的高度(?)。但是,当我为两者指定高度时(取消注释这两行),两个图的高度并不相等。
\documentclass[12pt]{article}
\usepackage{tikz, pgfplots}
\pgfplotsset{compat=1.10}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{cc}
{\Large{\textbf{A}}}%
\begin{tikzpicture}[baseline]
\begin{axis}[
width=0.5\textwidth,
% height=0.5\textwidth,
xlabel=X,
ylabel=Y,
title=This is a title,
]
\addplot {x^(1/3)};
\end{axis}
\end{tikzpicture}&%
{\Large{\textbf{B}}}%
\begin{tikzpicture}[baseline]
\begin{groupplot}[
group style={
group size=1 by 2,
horizontal sep=0pt,
vertical sep=0pt,
x descriptions at=edge bottom,
},
width=0.5\textwidth,
% height=0.5\textwidth/2,
xlabel=X,
ylabel=Y,
]
\nextgroupplot[title=This is a title]
\addplot {x^(1/3)};
\nextgroupplot
\addplot {x^(1/3)};
\end{groupplot}
\end{tikzpicture}%
\end{tabular}
\end{figure}
\end{document}
答案1
对于第一个问题,将 a 添加name
到第二个问题groupplot
并使用baseline=nameofgroupplot.south
。
对于第二个问题,我没有好的解决方案。您可以通过scale only axis
在各处添加来获得正确的高度(对于这种情况)。我怀疑高度错误的原因是首先缩放了组图,然后将它们移得更近(vertical sep=0pt
)。或者其他原因。最终的总高度无论如何都小于指定的长度。您scale only axis
可以避免这种情况。
\documentclass[12pt]{article}
\usepackage{tikz, pgfplots}
\pgfplotsset{compat=1.10}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{cc}
{\Large{\textbf{A}}}%
\begin{tikzpicture}[baseline]
\begin{axis}[
width=0.33\textwidth,
height=0.33\textwidth,
xlabel=X,
ylabel=Y,
title=This is a title,scale only axis
]
\addplot {x^(1/3)};
\end{axis}
\end{tikzpicture}&%
{\Large{\textbf{B}}}%
\begin{tikzpicture}[baseline=(sub2.south)]
\begin{groupplot}[
group style={
group size=1 by 2,
horizontal sep=0pt,
vertical sep=0pt,
x descriptions at=edge bottom,
},
width=0.33\textwidth,
height=0.33\textwidth/2,
xlabel=X,
ylabel=Y,,scale only axis
]
\nextgroupplot[title=This is a title]
\addplot {x^(1/3)};
\nextgroupplot[name=sub2]
\addplot {x^(1/3)};
\end{groupplot}
\end{tikzpicture}%
\end{tabular}
\end{figure}
\end{document}