![如何在 TikZ 图片中绘制圆形、正方形、三角形标记?](https://linux22.com/image/252886/%E5%A6%82%E4%BD%95%E5%9C%A8%20TikZ%20%E5%9B%BE%E7%89%87%E4%B8%AD%E7%BB%98%E5%88%B6%E5%9C%86%E5%BD%A2%E3%80%81%E6%AD%A3%E6%96%B9%E5%BD%A2%E3%80%81%E4%B8%89%E8%A7%92%E5%BD%A2%E6%A0%87%E8%AE%B0%EF%BC%9F.png)
以下是我的 TikZ 图片的一部分:
\begin{tikzpicture}
\draw (0,0)--(10,0);
\filldraw (0,0) circle (3pt);
\end{tikzpicture}
我想放置一个“方形标记”来表示 处的点(10,0)
。我该如何放置方形标记?有没有类似
\filldraw (10,0) square (3pt);
此外,如何放置“三角形标记”?
答案1
三种解决方案:第一种,使用基本形状circle
和rectangle
,以及库regular polygon
中的形状shapes
(如彼得·格里尔的评论)。第二个和第三个使用plotmarks
库;在第二个中,线和标记是独立绘制的(标记使用\node
s 和放置\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}