我正在使用 extikzpicture 构建一个群图来外部化图形,以便我稍后在提交论文发表时可以将它们包含在内。我想缩小最终群图的大小。我可能可以自己解决这个问题,但我现在的互联网接入严重受损,因此很难研究任何东西......即使在发布这个问题时,我也无法让完整的编辑器加载......希望我可以用 markdown 让它看起来不错......
下面的代码(不是 MWE)是有问题的位
\begin{figure}
\centering
\begin{extikzpicture}[runs=2]{fig5}
\begin{groupplot}[
group style={group size=2 by 2,
height=10cm,
width=10cm,
group name = fig5_plots,
xlabels at=edge bottom,
ylabels at=edge left
},
xlabel = {\footnotesize $\rho$},
ylabel = {\footnotesize $\gamma$},
%view={0}{90},
colorbar horizontal,
colorbar to name=ContourColorbar,
colormap/blackwhite,
y tick label style={
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=1,
/tikz/.cd
},
x tick label style={
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=0,
/tikz/.cd
}]
\nextgroupplot[title={\scriptsize +Resources}, z buffer=sort]
\addplot3[surf, shader=interp,mesh,black] file {Reactive_ComeAndGo_Surface.txt};
\addplot3[surf, shader=interp,colormap/blackwhite, opacity=0.8] file {PlusReactive_DecreasingAlpha_Surface.txt};
\nextgroupplot[title={\scriptsize ++Resources}, z buffer=sort]
\addplot3[surf, mesh,black] file {Reactive_ComeAndGo_Surface.txt};
\addplot3[surf, shader=interp,colormap/blackwhite, opacity=0.8] file {PlusPlusReactive_DecreasingAlpha_Surface.txt};
%\nextgroupplot[title={\scriptsize +Resources Delta},view={0}{90},]
\nextgroupplot[view={0}{90},]
\addplot3[surf, shader=interp] file {Plus_Reactive_Delta_Surface.txt};
%\nextgroupplot[title={\scriptsize ++Resources Delta},view={0}{90},]
\nextgroupplot[view={0}{90},]
\addplot3[surf, shader=interp] file {PlusPlus_Reactive_Delta_Surface.txt};
\end{groupplot}
\node (fig5_Legend) at ($(fig5_plots c1r2.center)!0.5!(fig5_plots c2r2.center)-(0,4.5cm)$){\ref{ContourColorbar}};
\end{extikzpicture}
\caption{Reactive $\alpha$ Starting at Upper Bound}
\label{ReactiveDecreasing}
\end{figure}
你会注意到
height=10cm,
width=10cm,
在 groupstyle 中...它们就是问题所在。如果我删除这两行,它就可以正常编译并生成图像,只不过比我想要的要大一些。
包含这些行,我会收到错误,因为没有外部图像。当我查看日志文件中该特定图像时,我发现
程序包 pgfkeys 错误:我不知道您传递了“10cm”的键“/pgfplots/group/height”,我将忽略它。也许您拼错了。
由于我的互联网接入很差,我根本无法搜索任何东西。我有 pgfplot 手册,其中显示了如何使用 groupstyle 中的高度和宽度键来处理 tikzpicture 组图,所以我假设对于 extikzpicture 来说也是一样,但显然不是。
答案1
呃!
我误读了文档。高度和宽度键不属于组样式。
在 pgfplots 手册第 391 页上我看到了这一行
\begin{groupplot}[group style={group size=2 by 2},height=3cm,width=3cm]
不知何故,我的大脑看到的高度和宽度在结尾的 } 内,而不是外面。将这些键移出组样式,您就成功了。
我需要多睡一会儿:)
答案2
我正在尝试使用与您的解决方案类似的方法,并且我意识到extikzpicture
与标准相比,使用有一些限制tikzpicture
。
例如,假设我在序言中为我的图形高度定义了一个宏
\newcommand{\fheight}{5cm}
;如果我现在想在标准中将其用作我的组图的高度tikzpicture
,我可以简单地将其height=\fheight
作为环境的一个选项来写入grouplot
。但是,如果我在中执行相同操作extikzpicture
,则会收到错误
! 未定义控制序列。\pgfplots@height ->\fheight
不知道原因是什么。