使用外部 TikZ 控制图像大小

使用外部 TikZ 控制图像大小

我正在使用 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

不知道原因是什么。

相关内容