选项‘scatter’导致 LaTeX 中的 pgfplots 颜色不正常?

选项‘scatter’导致 LaTeX 中的 pgfplots 颜色不正常?

pgf图包中,我们可以通过群体图

\documentclass{standalone}
\usepackage{tikz,pgfplots}
    \usepgfplotslibrary{groupplots}

\begin{document}
  \begin{tikzpicture}
    \begin{groupplot}[
      group style={group size=2 by 2},
      width=4cm, height=4cm,
    ]
    \nextgroupplot
      \addplot coordinates{(0,0) (1,2) (2,1)};
      \addlegendentry{one}
      \addplot[color=red,scatter,only marks, mark=o] coordinates{(1,1)};
      \addlegendentry{two}
    \end{groupplot}
  \end{tikzpicture}
\end{document}

生产

在此处输入图片描述

如何将散点图 ( o) 改为红色?

答案1

请注意,您不需要groupplot为了放置多个图表在同一轴上。相反,groupplot用于放置多个在同一个 TiZ 图片。

无论如何,颜色问题与 无关groupplot,而是因为第二个图有scatter选项而引起的。根据 PGFPlots 文档,

该选项的scatter名称有点误导,因为在添加该选项之前我们已经有一个散点图。它激活具有单独外观的散点图:无需进一步的选项,它会为每个标记选择单独的颜色。

这是您想要的图表:

散点图包含三个相连的蓝点和一个红点。蓝点的图例条目显示“一”,红点的图例条目显示“二”。图例条目位于蓝点上方,遮挡了视线。

\documentclass{standalone}
\usepackage{pgfplots}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[
      width=4cm, height=4cm,
    ]
      \addplot coordinates{(0,0) (1,2) (2,1)};
      \addplot[color=red,only marks, mark=o] coordinates{(1,1)};
      \addlegendentry{one}
      \addlegendentry{two}
    \end{axis}
  \end{tikzpicture}
\end{document}

这里有一种方法可以更清楚地看到为什么scatter结果错误的图例颜色。首先,删除width=4cm, height=4cm,然后尝试coordinates{(1,1)}在第二个图中将其更改为

coordinates{
         (0,1) (0,2) (0,3) (0,4) (0,5)
         (1,1) (1,2) (1,3) (1,4) (1,5)
         (2,1) (2,2) (2,3) (2,4) (2,5)
         (3,1) (3,2) (3,3) (3,4) (3,5)
         (4,1) (4,2) (4,3) (4,4) (4,5)
}

并观察情节颜色会发生什么变化。

相关内容