我正在尝试创建这样的图片:
我有一个网格,我通过颜色变化来描绘方框的移动。我希望我可以使用 foreach 在 Tikz 中轻松实现这种效果(我对 Tikz 非常不熟悉)。它似乎不喜欢我将变量\j
或\i
放入颜色部分 - 特别是当我尝试将其乘以某个值时(例如,如所示代码中所示,10)。
\begin{tikzpicture}[scale=.5]
\foreach \i in {1,2,3,4,5,6,7,8}
{
\foreach \j in {1,2,3,4,5,6,7,8}
{
\definecolor{myblue}{cmyk}{10*j,0,0,0}
\draw[fill= myblue] (\i-1,\j-1)--(\i,\j-1)--(\i,\j)--(\i-1,\j)--(\i-1,\j-1);
}
}
\end{tikzpicture}
在尝试这个解决方案之前我正在使用\draw[fill=blue!10*\j!white] (\i-1,\j-1)--(\i,\j-1)--(\i,\j)--(\i-1,\j)--(\i-1,\j-1);
任何帮助将非常感激。
答案1
请始终发布完整的代码,以便人们不必猜测重现问题或回答问题需要哪些包和类。
下面给出了根据增加着色深度的一种方法\j
:
\documentclass[tikz,border=5pt]{standalone}
\begin{document}
\definecolor{myblue}{cmyk}{10,0,0,0}
\begin{tikzpicture}
\foreach \i in {1,2,3,4,5,6,7,8}
{
\foreach \j in {1,2,3,4,5,6,7,8}
{
\pgfmathsetmacro\k{\j*10}
\draw[fill=myblue!\k] (\i-1,\j-1)--(\i,\j-1)--(\i,\j)--(\i-1,\j)--(\i-1,\j-1);
}
}
\end{tikzpicture}
\end{document}
您可能想根据\i
左图改变色调:
\pgfmathsetmacro\k{\i*10}
你可以得到一些相当不错的效果:
\pgfmathsetmacro\k{mod(\i+\j-1,8)*10}