如何在 TikZ 图片中绘制圆形、正方形、三角形标记?

如何在 TikZ 图片中绘制圆形、正方形、三角形标记?

以下是我的 TikZ 图片的一部分:

\begin{tikzpicture}
\draw (0,0)--(10,0);
\filldraw (0,0) circle (3pt);
\end{tikzpicture}

我想放置一个“方形标记”来表示 处的点(10,0)。我该如何放置方形标记?有没有类似

\filldraw (10,0) square (3pt);

此外,如何放置“三角形标记”?

答案1

三种解决方案:第一种,使用基本形状circlerectangle,以及库regular polygon中的形状shapes(如彼得·格里尔的评论)。第二个和第三个使用plotmarks库;在第二个中,线和标记是独立绘制的(标记使用\nodes 和放置\pgfuseplotmark);在第三个解决方案中,plot coordinates语法与选项一起使用mark=<mark>(如克里斯蒂安·费尔桑格的评论):

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{plotmarks}

\begin{document}

\begin{tikzpicture}
\draw (0,0)--(10,0);
\filldraw (0,0) circle (3pt);
\filldraw ([xshift=-2pt,yshift=-2pt]10,0) rectangle ++(4pt,4pt);
\node[fill=black,regular polygon, regular polygon sides=3,inner sep=1.5pt] at (5cm,0) {};

\draw (0,-1)--(10,-1);
\node at (0,-1) {\pgfuseplotmark{*}};
\node at (5cm,-1) {\pgfuseplotmark{triangle*}};
\node at (10cm,-1) {\pgfuseplotmark{square*}};

\draw[mark=*] plot coordinates {(0,-2)} -- plot[mark=triangle*] coordinates {(5cm,-2)} --
  plot[mark=square*] coordinates {(10cm,-2)};
\end{tikzpicture}

\end{document}

在此处输入图片描述

以下代码显示如何更改第二和第三个解决方案的标记的大小和颜色:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{plotmarks}

\begin{document}

\begin{tikzpicture}
\draw (0,-1)--(10,-1);
\node[mark size=3pt,color=red] at (0,-1) {\pgfuseplotmark{*}};
\node[mark size=5pt,color=blue] at (5cm,-1) {\pgfuseplotmark{triangle*}};
\node[mark size=4pt,color=olive] at (10cm,-1) {\pgfuseplotmark{square*}};

\draw[mark=*,mark size=3pt,mark options={color=olive}] plot coordinates {(0,-2)} 
  -- plot[mark=triangle*,mark options={color=blue}] coordinates {(5cm,-2)} 
  -- plot[mark=square*,mark size=4pt,mark options={color=red}] coordinates {(10cm,-2)};
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容