如何在 TikZ 中的 foreach 中为每个值选择一种颜色?

如何在 TikZ 中的 foreach 中为每个值选择一种颜色?

使用代码

\documentclass{standalone}
\usepackage{tikz}
\usepackage{xcolor}

\begin{document}

\begin{tikzpicture}

\foreach \i in {1,...,10} {
    \pgfmathparse{\i * 10-10}
 \draw[red!\pgfmathresult!blue, thick]
(0,\i * .2) -- (1,\i * .2)
;
}

\end{tikzpicture}

\end{document}

可以索引颜色,但只能在红色和蓝色之间。我怎样才能从任意颜色列表中选择项目(它们不必是 10 个,3 个就够了,因此为了具体起见,选择绿色、红色、蓝色)并在语句的每个值中读出它们\foreach

在此处输入图片描述

我尝试使用单词列表对它们进行索引,如下所示这个问题但 TikZ 不显示颜色。

答案1

您可以使用\foreach \i/\c in {1/green, 2/red, 3/blue}\foreach \c [count=\i] in {green, red, blue},它们都会产生相同的结果。

在第一个示例中,您使用正斜杠分隔值和颜色/。由于您有连续的整数 1、2 和 3,因此您可以使用选项count,在我看来,在这种情况下,这更直观。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{xcolor}

\begin{document}

\begin{tikzpicture}

\foreach \c [count=\i] in {green, red, blue} {
    \pgfmathparse{\i * 10-10}
 \draw[\c, thick]
(0,\i * .2) -- (1,\i * .2)
;
}

\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容