和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
用于放置多个轴在同一个 Ti钾Z 图片。
无论如何,颜色问题与 无关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)
}
并观察情节颜色会发生什么变化。