标记前的线

标记前的线

我正在创建包含大量数据点的图,并且每个图还包括一条独立但与这些点重合的线。

问题在于标记会挡住线的前面,因此在图中标记过多的区域,线就看不清楚了。以下 MWE 包含一个点较少的图和另一个点较多的图来说明这一点。

\documentclass[12pt]{article}

\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=newest}

\pgfplotscreateplotcyclelist{marks}{%
  {black!50,ultra thin,mark=o,only marks},  
  {black,very thick,mark=none},
  {blue!70!black!50,mark=square,only marks},
  {blue!70!black,very thick,mark=none},
  {red!70!black!50,mark=triangle,only marks},
  {red!70!black,very thick,mark=none},
}

\begin{document}
\begin{tikzpicture}
\begin{axis}[legend entries={0,...,6},
    legend pos=outer north east,
    cycle list name=marks]
\addplot+[samples=10] {x};
\addlegendentry{10 samples}
\addplot {x};
\addlegendentry{}
\addplot+[samples=100] {x-2};
\addlegendentry{100 samples}
\addplot {x-2};
\addlegendentry{}
\addplot+[samples=200] {x-4};
\addlegendentry{200 samples}
\addplot {x-4};
\addlegendentry{}
\end{axis}
\end{tikzpicture}

\end{document}

结果如下:

该线应该在前面

我尝试将线图放在散点图之前,但没有成功。如何才能使线在标记前面清晰可见?

答案1

这类似于前景中带有 pgfplots 的误差线:默认情况下,所有标记都绘制在图表顶部的一层中。这样做是为了可以独立于正常剪切打开或关闭对它们的剪切。您可以通过设置来告诉 PGFPlots 对每组标记使用单独的层,而不是将它们全部放在同一顶层clip mode=individual。这意味着后面的图表将绘制在前面的标记之上。

\documentclass[12pt]{article}

\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=newest}

\pgfplotscreateplotcyclelist{marks}{%
  {black!50,ultra thin,mark=o,only marks},  
  {black,very thick,mark=none},
  {blue!70!black!50,mark=square,only marks},
  {blue!70!black,very thick,mark=none},
  {red!70!black!50,mark=triangle,only marks},
  {red!70!black,very thick,mark=none},
}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    clip mode=individual,
    legend entries={0,...,6},
    legend pos=outer north east,
    cycle list name=marks]
\addplot+[samples=10] {x};
\addlegendentry{10 samples}
\addplot {x};
\addlegendentry{}
\addplot+[samples=100] {x-2};
\addlegendentry{100 samples}
\addplot {x-2};
\addlegendentry{}
\addplot+[samples=200] {x-4};
\addlegendentry{200 samples}
\addplot {x-4};
\addlegendentry{}
\end{axis}
\end{tikzpicture}

\end{document}

相关内容