有时我会有一些情节标记和一些台词之后.因此痕迹变得不美观。
我怎样才能说出这样的话:“每个标记都到前台”?
请注意,我不想将\coordinate
s 设置为前台(它们仅用于示例)或者可能使用其他技巧。我真的想知道如何将 plotmarks 设置为前台。
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{plotmarks}
\begin{document}
\begin{tikzpicture}[
Mark/.style={ mark=*, mark size=1.5pt, mark options={fill=yellow} },
]
\coordinate[](A) at (0,0);
\coordinate[](B) at (2,3);
\coordinate[](C) at (1,1);
\foreach \P in {A,B,C}{
\draw[] plot[Mark] coordinates{(\P)};
}
\draw[] (A) -- (B) -- (C);
\end{tikzpicture}
\end{document}
答案1
以下是三种可能的解决方案:
- 在背景层上画线,并加载
tikz
库backgrounds
, on above layer
使用包中的选项在前景层上绘制标记tikz-layers
,并- 绘制实心圆作为
\node
s,则会自动避免重叠(参见pgfmanual
v3.1.7a,第 17.11 节连接节点:使用节点作为坐标)。
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{backgrounds, plotmarks}
\begin{document}
\begin{tikzpicture}[
Mark/.style={ mark=*, mark size=1.5pt, mark options={fill=yellow} },
]
\coordinate[](A) at (0,0);
\coordinate[](B) at (2,3);
\coordinate[](C) at (1,1);
\foreach \P in {A,B,C}{
\draw[] plot[Mark] coordinates{(\P)};
}
\begin{scope}[on background layer]
\draw[] (A) -- (B) -- (C);
\end{scope}
\end{tikzpicture}
\end{document}
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{plotmarks}
\usepackage{tikz-layers}
\begin{document}
\begin{tikzpicture}[
Mark/.style={ mark=*, mark size=1.5pt, mark options={fill=yellow} },
]
\coordinate[](A) at (0,0);
\coordinate[](B) at (2,3);
\coordinate[](C) at (1,1);
\begin{scope}[on above layer]
\foreach \P in {A,B,C}{
\draw[] plot[Mark] coordinates{(\P)};
}
\end{scope}
\draw[] (A) -- (B) -- (C);
\end{tikzpicture}
\end{document}
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{plotmarks}
\usepackage{tikz-layers}
\begin{document}
\begin{tikzpicture}[
Mark/.style={ circle, draw, inner sep=0pt, minimum size=3pt, fill=yellow },
]
\node[Mark] (A) at (0,0) {};
\node[Mark] (B) at (2,3) {};
\node[Mark] (C) at (1,1) {};
\draw[] (A) -- (B) -- (C);
\end{tikzpicture}
\end{document}
此外,如果你有很多坐标需要逐一链接,那么
\draw[mark=*, ...] plot coordinates {(0,0) (2,3) (1,1)};
- 甚至
pgfplots
可能会有帮助;