使用计算器包更改块的颜色

使用计算器包更改块的颜色

我正在尝试绘制具有不同颜色的块。但看起来它们都具有相同的颜色,并且只有最后一个块改变了颜色。

这段代码出了什么问题

   \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:这不是 TiZ 也不是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}

在此处输入图片描述

相关内容