我正在尝试绘制具有不同颜色的块。但看起来它们都具有相同的颜色,并且只有最后一个块改变了颜色。
这段代码出了什么问题
\documentclass[border=3pt,tikz]{standalone}
\usepackage{calculator}
\usepackage{calculus}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\def\M{2}
\foreach \i in {0.2,0.4,...,1}
{
\MULTIPLY{\i}{20}{\c};
\draw[fill=blue!\c,opacity=0.75] % transverse plane
({-0.2*\M}, {-1.1*\M}) rectangle ($({0.1*\M}, {-1.1*\M})+(0,\i*\M)$);
}
\end{tikzpicture}
\end{document}
答案1
矩形可以用更简单的方式描述(-0.2*\M, -1.1*\M) rectangle (0.1*\M, -1.1*\M + \i*\M)
——这里不需要\usetikzlibrary{calc}
,也不需要\usepackage{calculus}
。警告是由;
行末的引起的\MULTIPLY
:这不是 Ti钾Z 也不是pgfplots
语句;这个分号应该被删除。
您的主要问题可能是您的坐标计算与您真正想要的不符?这是一个想法:
\documentclass[border=3pt,tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\def\uM{2}
\def\mycolors{{"blue","orange","green","magenta","cyan"}}
\foreach \i[count=\idx starting from 0] in {0.2,0.4,...,1}
{
\pgfmathsetmacro{\mycolor}{\mycolors[\idx]}
\path[fill=\mycolor, opacity=0.5]
(-0.2*\uM, -1.1*\uM + \i*\uM) rectangle +(0.3*\uM, 0.2*\uM);
}
\end{tikzpicture}
\end{document}