多色节点网格

多色节点网格

我正在尝试绘制一个节点网格,其中每个节点都有不同的颜色:

我学习了如何从解决方案中绘制节点网格来:TikZ:使用循环绘制节点网格

这给出了下面的网格。我现在如何让每个节点都具有特定的颜色?

在此处输入图片描述

非常感谢你的帮助!

答案1

这是一个适用于任意整数的提议。颜色是唯一的,由设置\definecolor{mycol}{RGB}{\myr,100,\myb}。如果您想要不同的颜色,则需要调整这段代码。

\documentclass[tikz,border=3mm]{standalone}
\tikzset{pics/colored grid/.style={code={
\pgfmathtruncatemacro{\mymod}{0.5+sqrt(#1)}
\pgfmathtruncatemacro{\mymmod}{\mymod+ifthenelse(#1>\mymod*\mymod,1,0)}
\draw (0,0) grid (\mymod-1,1-\mymmod);
\foreach \XX in {1,...,#1}
 {\pgfmathtruncatemacro{\myr}{mod(\XX-1,\mymod)*255/(\mymod-1)}
 \pgfmathtruncatemacro{\myb}{int((\XX-1)/\mymod)*255/(\mymmod-1)}
 \definecolor{mycol}{RGB}{\myr,100,\myb}
 \path ({mod(\XX-1,\mymod)},{-int((\XX-1)/\mymod)}) 
    node[circle,draw,text width={width("11")},align=center,
    fill=mycol]{\XX};}
}}}
\begin{document}
\begin{tikzpicture}
 \path (0,0) pic{colored grid=24} (6,0) pic{colored grid=25}
 (0,-6) pic{colored grid=33};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容