我想扩展此代码片段
\newcommand\progskills[1]{
\renewcommand{\progskills}{
\begin{tikzpicture}
%\node [above right] at (0, 4) {$0 \: LOC \: \arrow{3.2} \: 5000 \: LOC$};
\foreach [count=\i] \x/\y in {#1}{
\draw[fill=maingray,maingray] (0,\i) rectangle (6,\i+0.4);
\draw[fill=white,mainblue](0,\i) rectangle (\y,\i+0.4);
\node [above right] at (0,\i+0.35) {\x};
}
\end{tikzpicture}
}
}
循环显示颜色列表。在 Python-Matplotlib 中,我会使用例如itertools.cycle
颜色数组并索引该数组。如何使用 latex 和 tkzpicture 实现这种行为?
以下简单代码片段不起作用。该命令创建“技能栏”,并源自二十秒简历
\newcommand\labskills[1]{
\renewcommand{\labskills}{
\begin{tikzpicture}
\def\mycolors{lightgray, materialcyan, orange, green, materialorange, materialteal, materialamber, materialindigo, materialgreen, materiallime}
%\node [above right] at (0, 4) {$0 \: LOC \: \arrow{3.2} \: 5000 \: LOC$};
\foreach [count=\i] \x/\y in {#1}{
\draw[fill=maingray,maingray] (0,\i) rectangle (6,\i+0.4);
\draw[fill=white, \mycolors[\i]](0,\i) rectangle (\y,\i+0.4);
\node [above right] at (0,\i+0.35) {\x};
}
\end{tikzpicture}
}
}
答案1
不幸的是,您只发布了片段。这是一个通用示例,没有使用您的颜色或宏,因为从您的问题来看,不清楚它们是如何定义的。如果您在条目周围用引号定义颜色列表,
\def\mycolors{"red","blue","purple"}
你可以通过以下方式循环显示颜色
\pgfmathsetmacro{\mycolor}{{\mycolors}[Mod(\i-1,3)]}
其中3
是上述列表的长度。以下是一个完整的可编译示例。
\documentclass{article}
\usepackage{tikz}
\newcommand\labskills[1]{
\begin{tikzpicture}
\def\mycolors{"red","blue","purple"}
\foreach [count=\i] \x/\y in {#1}{
\pgfmathsetmacro{\mycolor}{{\mycolors}[Mod(\i-1,3)]}
\draw[fill=gray,gray] (0,\i) rectangle (6,\i+0.4);
\draw[fill=white, \mycolor](0,\i) rectangle (\y,\i+0.4);
\node [above right] at (0,\i+0.35) {\x};
}
\end{tikzpicture}
}
\begin{document}
\labskills{Meowing/4,Purring/3,Catching mice/4,Hibernating/1}
\end{document}