![如何使用 tikz 在 4 x 4 网格上从点到点绘制一条线?](https://linux22.com/image/457289/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20tikz%20%E5%9C%A8%204%20x%204%20%E7%BD%91%E6%A0%BC%E4%B8%8A%E4%BB%8E%E7%82%B9%E5%88%B0%E7%82%B9%E7%BB%98%E5%88%B6%E4%B8%80%E6%9D%A1%E7%BA%BF%EF%BC%9F.png)
如何在 tikz 中从左下角到右上角画一条直线?
这是我的代码。
\documentclass{article}
\usepackage{tikz}
\tikzset{mystyle/.style={shape=circle,fill=black,scale=0.3}}
\tikzset{withtext/.style={fill=white}}
\begin{document}
\begin{figure}
\begin{minipage}{.5\textwidth}
\begin{tikzpicture}[scale=.5]
% setup the nodes
\foreach \x in {0,...,3}
\foreach \y in {0,...,3}
{
\ifnum\x=4
\ifnum\y=4
\node (\x-\y) at (\x,\y){X};
\else
\node[mystyle] (\x-\y) at (\x,\y){};
\fi
\else
\node[mystyle] (\x-\y) at (\x,\y){};
\fi}
\end{tikzpicture}
\end{minipage}
\end{figure}
\end{document}
答案1
像这样:
您只需要在左下角定义节点名称,即在\x=0
和\y=0
(因为\foreach
循环从这个角开始):(0-0)
以及在右上角,即在 \x=3
和\y=3
(因为\foreach
循环在这个角停止): (3-3)
然后驱动箭头:
%\documentclass{article}
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\tikzset{mystyle/.style={shape=circle,fill=black,scale=0.3}}
\tikzset{withtext/.style={fill=white}}
\begin{document}
%\begin{figure}
% \begin{minipage}{.5\textwidth}
\begin{tikzpicture}%[scale=.5]
% setup the nodes
\foreach \x in {0,...,3}
\foreach \y in {0,...,3}
{
\node[mystyle] (\x-\y) at (\x,\y) {};
}
\draw[red,-Straight Barb, semithick]
(0-0) -- (3-3);
\end{tikzpicture}
% \end{minipage}
% \end{figure}
\end{document}
笔记:
- 我擅自更改了您的循环代码,并大大简化了您的循环代码。
- 要查看绘制节点的顺序,请将测试节点写入
\node[mystyle,label={\tiny x,y=\x,\y}] (\x-\y) at (\x,\y){};
你会看到