我是 TikZ 的新手,所以这个问题可能看起来很愚蠢。我正在研究平面上的设施位置问题,我为每个客户节点和每个设施节点生成了一些由 (x,y) 坐标组成的数据点。在文献中,客户节点通常用圆点标记,因此我使用了符号
\draw [fill] (x,y) circle [radius=0.05];
对于由 (x,y) 指定的某个点。
设施节点通常用一个小方块标记。但是我如何创建一个以点 (x,y) 为中心的正方形?我查看了矩形函数。但由于我有中心点,这种方法似乎不是正确的方法。有人能帮我吗?
答案1
为了完成杰克的回答,其他可能性是:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\newcommand\Square[1]{+(-#1,-#1) rectangle +(#1,#1)}
\draw [very thin, lightgray] (0,0) grid (4,4);
\draw (2,3) +(-2pt,-2pt) rectangle +(2pt,2pt) ;
\draw (2,3) \Square{12pt} ;
\end{tikzpicture}
\end{document}
您可以使用节点和坐标,如下所示
\begin{tikzpicture} [dot/.style={draw,rectangle,minimum size=4mm,inner sep=0pt,outer sep=0pt,thick}]
\draw [very thin, lightgray] (0,0) grid (4,4);
\path (1,1) coordinate[dot] ;
\end{tikzpicture}
使用节点:
\node [rectangle,minimum size=4mm,inner sep=0pt,outer sep=0pt,thick] at (1,1) {};
答案2
对于此应用程序,我建议使用该\draw plot [<options>] coordinates {<coordinate list>};
功能。如果您加载\usetikzlibrary{plotmarks}
,您可以访问各种不同的标记,包括填充或空白的方块,并且提供坐标非常容易。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{plotmarks}
\begin{document}
\begin{tikzpicture}
\draw [very thin, lightgray] (0,0) grid (4,4);
\draw [cyan] plot [only marks, mark=square*] coordinates {(1,1) (2,3) (2.5,2)};
\draw [orange] plot [only marks, mark size=2.5, mark=*] coordinates {(0,0.5) (1,1.5) (1,2.5) (2,1) (4,2)};
\end{tikzpicture}
\end{document}