在 TikZ 中以某个点为中心制作一个正方形

在 TikZ 中以某个点为中心制作一个正方形

我是 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}

相关内容