Groupplot 中的等高线图

Groupplot 中的等高线图

我正在尝试制作一个groupplot带有两个轮廓图的图表。我怀疑如果有足够的时间,我可以自己解决这个问题,但我面临着时间紧迫的问题……

作为背景,这groupplot是为了取代黑白两色中表现不佳的两个表面的图。这是表面

在此处输入图片描述

每个表面代表一种算法,其目的是表明一种算法对 alpha 参数不敏感,而另一种算法对 lambda 参数不敏感。

我以前从未绘制过pgfplots等高线图,所以我从基础开始。这是其中一个等高线图的代码……数据文件可以在以下位置找到http://pastebin.com/TzJJ7KZF

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usetikzlibrary{pgfplots.groupplots}

\pgfplotsset{compat = 1.12}

\begin{document}
    \begin{figure}
        \begin{tikzpicture}
            \begin{axis}
                \addplot[contour/draw color=black, contour/label distance=100pt,contour prepared, contour prepared format=matlab]
                    table {CAG_Contour.dat};
            \end{axis}
        \end{tikzpicture}
    \end{figure}
\end{document}

这产生了下图 在此处输入图片描述

我知道它很粗糙...缺少轴标签,并且由于某种原因,这 14 个重叠,但我想我可以解决这个问题。

但当我尝试将两个轮廓放在一起时,groupplot我却力不从心。代码如下……数据文件可以在 CAG_Contour.dat 中找到pastebin在这里并且 PPR_Contour.dat 位于pastebin在这里

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usetikzlibrary{pgfplots.groupplots}

\pgfplotsset{compat = 1.12}

\begin{document}
\begin{figure}
    \centering
    \begin{tikzpicture}
        \begin{groupplot}[
            group style={
                group size=2 by 1,
                xlabels at=edge bottom,
                ylabels at=edge left},
                xlabel = {\footnotesize $\alpha_{++}$},
                ylabel = {\footnotesize Departure Rate}]
            \nextgroupplot[title={\scriptsize Come and Go}]
                \addplot+[contour/draw color=black,contour prepared, contour prepared format=matlab]
                          table {CAG_Contour.dat};
            \nextgroupplot[title={\scriptsize ++Resources}]
                \addplot+[contour prepared, contour prepared format=matlab]
                          table {PPR_Contour.dat};
        \end{groupplot}
    \end{tikzpicture}
\end{figure}
\end{document}

得到的图如下所示

在此处输入图片描述

我无论如何也想不出如何绘制轮廓线

  1. 黑色

  2. 宽度较小

或者如何增加标签之间的间距

显然这种contour/draw color=black方法并不正确。

抱歉,问题问得这么差……理想情况下,我应该明天就把这个问题提交给我的委员会……

答案1

您也在绘制标记,由于这些标记彼此太近,线条看起来很粗。为此,请从中删除+\addplot将选项传递no marks\addplot。然后可以看到改变颜色的效果。

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usepgfplotslibrary{groupplots}
\begin{document}
  \begin{figure}
    \centering
    \begin{tikzpicture}
        \begin{groupplot}[
            group style={
                group size=2 by 1,
                xlabels at=edge bottom,
                ylabels at=edge left},
                xlabel = {\footnotesize $\alpha_{++}$},
                ylabel = {\footnotesize Departure Rate}]
            \nextgroupplot[title={\scriptsize Come and Go}]
                \addplot+[no marks,contour/draw color=black,contour prepared, contour prepared format=matlab,contour/every contour label/.append style={every node/.style={black!50,fill=white}}]
                          table[x index=0,y index=1] {CAG_Contour.dat};
            \nextgroupplot[title={\scriptsize ++Resources}]
                \addplot[contour/draw color=black,contour prepared, contour prepared format=matlab, contour/every contour label/.append style={every node/.style={black!50,fill=white}}]
                          table[x index=0,y index=1] {PPR_Contour.dat};
        \end{groupplot}
    \end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述

为了改变标签的颜色,我使用了

contour/every contour label/.append style={every node/.style={black!50,fill=white}}

随着

contour/draw color=black,

您可以通过以下方式更改标签之间的距离

contour/label distance={<dimension>} 

相关内容