Compilateur LaTeX en ligne
www.cpierquet.fr
fichiers/rosedesvents.tex
↓ télécharger
%!TEX pdflatex

\documentclass[a4paper,11pt]{article}
\usepackage{listofitems}
\usepackage[table,svgnames]{xcolor}
\usepackage{tikz}
\usepackage{simplekv}
\usepackage{xstring}
\usepackage{xparse}

\defKV[rosevents]{%
	GradX=\def\RdVentsUniteX{#1},%
	GradY=\def\RdVentsUniteY{#1},%
	NbColonnes=\def\RdVentsNbColonnes{#1},%
	NbLignes=\def\RdVentsNbLignes{#1},%
	Croix=\def\RdVentsCroix{#1},%
	Echelle=\def\RdVentsEchelle{#1}
}

\setKVdefault[rosevents]{%
	NbColonnes={},%
	NbLignes={},%
	GradX=1,%
	GradY=1,%
	AffCroix=true,%
	Croix={},%
	Echelle=1
}



\newcommand\RoseDesVents[2][]{%options+liste
	\useKVdefault[rosevents]%
	\setKV[rosevents]{#1}%
	\setsepchar[.]{§./}%
	\readlist*\ListeCouleursRose{#2}%
	\begin{tikzpicture}[scale=\RdVentsEchelle]
	%graduations
	\foreach \x in {1,2,...,\inteval{\RdVentsNbColonnes-1}} \draw (\x,0) node[below] {$\inteval{\RdVentsUniteX*\x}$} ;
	\foreach \y in {1,2,...,\inteval{\RdVentsNbLignes-1}} \draw (0,\y) node[left] {$\inteval{\RdVentsUniteY*\y}$} ;
	%cases
	\foreach \i in {1,2,...,\RdVentsNbLignes}{%lecture des lignes
		\foreach \j in {1,2,...,\RdVentsNbColonnes}{%
			\itemtomacro\ListeCouleursRose[\i,\j]\COUL%
			\draw[thick,fill=\COUL]({\j-1},{\i-1}) rectangle++ (1,1) ;
		}
	}
	%axes
	\draw[thick,red,->] (0,0)--({\RdVentsNbColonnes+0.25},0) node[right] {$x$} ;
	\draw[thick,red,->] (0,0)--(0,{\RdVentsNbLignes+0.25}) node[above] {$y$} ;
	%croix
	\ifboolKV[rosevents]{AffCroix}%
		{%
			\StrCut{\RdVentsCroix}{/}{\Xcroix}{\Ycroix}%
			\draw ({\Xcroix-0.5},{\Ycroix-0.5}) node[font=\Large] {$\times$} ;
		}%
		{}%
	\end{tikzpicture}
}
\begin{document}


\RoseDesVents[GradX=20,GradY=20,NbColonnes=6,NbLignes=5,Croix={3/4}]%
    {Pink/Blue/Red/Blue/Gray/White§
    Blue/Yellow/orange/Green/DarkGray/Yellow§
    Orange/Gray/Red/Yellow/Gray/Green§
    Gray/Red/Pink/Green/Orange/Pink§
    Green/Orange/Pink/Gray/Orange/White}

\end{document}