Parcourir un tableau dans tikz

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
XANA
Utilisateur confirmé
Utilisateur confirmé
Messages : 36
Inscription : lundi 04 septembre 2017, 17:56

[Résolu] Parcourir un tableau dans tikz

Message par XANA »

Bonjour,
est-il possible de parcourir un tableau, dans tikz ?
Imaginons par exemple que je veuille tracer un carré rouge, un vert et un bleu aux positions (0,1), (2,3) et (1,1) respectivement. Je voudrais donc avoir un code de la sorte (j'ai pris ici la notation en C pour les tableaux) :

Code : Tout sélectionner

\documentclass[tikz]{standalone}
\begin{document}

couleurs = {red, green, blue}
posX = {0,2,1}
posY = {1,3,1}

\begin{tikzpicture}
\foreach \i in {0,1,2}
\draw[fill=couleurs[i]] (posX[i],posY[i]) -- (posX[i]+1, posY[i]) -- (posX[i]+1, posY[i]+1) -- (posX[i], posY[i]+1) -- cycle;
\end{tikzpicture}
\end{document}
Bien sûr, ce code ne fonctionne pas du tout, mais cela permettrait d'automatiser certains tracés et éviterait de recopier la ligne \draw 3 fois dans mon cas.

Merci
Dernière modification par XANA le dimanche 01 mars 2020, 09:57, modifié 3 fois.

un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 796
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Parcourir un tableau dans tikz

Message par un bon petit »

Je propose la synatxe suivante :

Code : Tout sélectionner

\documentclass{article}
\usepackage{tikz}
\def\drawlist#1{\begin{tikzpicture}\drawlisti#1(\drawlisti,,)\end{tikzpicture}}
\def\drawlisti(#1,#2,#3){%
	\ifx\drawlisti#1\else
		\draw[fill=#3,draw=none](#1,#2)rectangle(#1+1,#2+1);%
		\expandafter\drawlisti
	\fi
}
\begin{document}
\drawlist{(0,0,red)(2,3,green)(1,1,blue)(3,-1,pink)(5,-2,gray)}
\end{document}
Screenshot_20200229_184404.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: Parcourir un tableau dans tikz

Message par rebouxo »

Sinon, avec un \foreach (tant qu'à utiliser TiKz ;-)), mais avec une autre notation.

Code : Tout sélectionner

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \foreach \x/\y/\col in {0/0/red, 2/3/green, 1/1/blue, 3/-1/pink,
      5/2/gray}
    {
      \fill[\col] (\x,\y) rectangle ++(1,1) ;
      }
  \end{tikzpicture}
\end{document}
Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.

XANA
Utilisateur confirmé
Utilisateur confirmé
Messages : 36
Inscription : lundi 04 septembre 2017, 17:56

Re: Parcourir un tableau dans tikz

Message par XANA »

Ça fonctionne bien !
Merci beaucoup !