Aller au contenu

Contours, cartes de chaleur et palettes de couleurs

Utilisez \addplot3 dans un axe avec view={0}{90} : surf ou matrix plot pour une carte de chaleur, contour filled pour des contours remplis, et ajoutez colorbar et une colormap pour l’échelle.

Une carte de chaleur d’une fonction

\addplot3 trace une fonction de x et y. Vu de dessus (view={0}{90}), un graphique surf devient une carte de chaleur : chaque cellule est colorée selon sa valeur à travers la palette. shader=interp fond les couleurs en douceur ; shader=flat donne une couleur par cellule.

Une carte de chaleur lisse avec une barre de couleur

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[view={0}{90}, colorbar, colormap/viridis,
               xlabel=$x$, ylabel=$y$, enlargelimits=false]
    \addplot3[surf, shader=interp, domain=-2:2, y domain=-2:2, samples=30]
      {exp(-x^2 - y^2) * (1 + x)};
  \end{axis}
\end{tikzpicture}
Composé par Scissor LaTeX: Une carte de chaleur lisse avec une barre de couleur

domain fixe l’intervalle de x, y domain celui de y, et samples la taille de la grille (25 par défaut, samples y pour un nombre différent en y).

Contours remplis

contour filled découpe les valeurs en bandes. number= définit le nombre de niveaux de contour ; levels={...} vous permet de les lister vous-même.

Contours remplis d’une fonction à deux pics

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[view={0}{90}, colorbar, colormap/hot, enlargelimits=false]
    \addplot3[contour filled={number=8}, domain=-3:3, y domain=-3:3, samples=40]
      {exp(-(x-1)^2 - y^2) + 0.7*exp(-(x+1.2)^2 - (y-1)^2)};
  \end{axis}
\end{tikzpicture}
Composé par Scissor LaTeX: Contours remplis d’une fonction à deux pics

Carte de chaleur depuis un tableau : matrix plot

Pour des données mesurées sur une grille, matrix plot* dessine une cellule par ligne de tableau. mesh/cols indique le nombre de colonnes de la grille, et point meta=explicit avec meta= nomme la colonne des valeurs.

Une grille de valeurs de 3 sur 3

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[colorbar, colormap/bluered, enlargelimits=false,
               xtick=data, ytick=data, width=6.5cm, height=6cm]
    \addplot[matrix plot*, mesh/cols=3, point meta=explicit]
      table[meta=v] {
        x y v
        0 0 1
        1 0 4
        2 0 2
        0 1 3
        1 1 9
        2 1 5
        0 2 2
        1 2 6
        2 2 44
      };
  \end{axis}
\end{tikzpicture}

Lignes de niveau

Des lignes sans remplissage exigent que les niveaux de contour soient calculés pour vous. Dans pgfplots, c’est le rôle de contour gnuplot ou contour lua, qui nécessitent des programmes supplémentaires ou LuaLaTeX dans une installation TeX. Scissor LaTeX calcule lui-même les lignes et les dessine, et vous rappelle dans l’onglet Problèmes que le code peut ne pas compiler ailleurs.

Lignes de niveau avec contour gnuplot

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[view={0}{90}, xlabel=$x$, ylabel=$y$]
    \addplot3[contour gnuplot={levels={0.2, 0.5, 0.8}},
              domain=-2:2, y domain=-2:2, samples=30]
      {exp(-x^2 - y^2)};
  \end{axis}
\end{tikzpicture}

Onglet Problèmes : contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere

Pour un fichier qui compile partout, utilisez contour filled, ou contour prepared avec des données de contour précalculées.

Palettes et barres de couleur

OptionEffetDans Scissor LaTeX
colormap/viridis, /hot, /cool, /jet, /blackwhite, /blueredpalettes prédéfiniesFonctionne
colormap name=viridischoisit une palette par son nomFonctionne
colormap={name}{rgb255=(..) rgb255=(..)}votre propre paletteFonctionne
colorbar, colorbar horizontalune échelle à côté ou sous le graphiqueFonctionne
colorbar style={..}graduations et étiquettes de la barre de couleurFonctionne
point meta min, point meta maxfixent l’intervalle des couleursFonctionne
shader=flat, shader=interp, shader=facetedmanière de colorer les cellulesFonctionne

Une palette personnalisée et une barre de couleur horizontale

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[view={0}{90}, enlargelimits=false,
               colormap={sea}{rgb255=(255,255,255) rgb255=(120,180,220) rgb255=(10,40,100)},
               colorbar horizontal, width=7cm, height=6cm]
    \addplot3[surf, shader=flat, domain=0:2, y domain=0:2, samples=12] {x*y};
  \end{axis}
\end{tikzpicture}
Composé par Scissor LaTeX: Une palette personnalisée et une barre de couleur horizontale

Vues 3D

Scissor LaTeX ne dessine \addplot3 que vu exactement de dessus. Toute autre view, y compris la vue 3D par défaut, laisse l’axe vide et affiche un message.

Une vue 3D n’est pas dessinée

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=5cm]
    \addplot3[surf, domain=-2:2, y domain=-2:2] {x^2 - y^2};
  \end{axis}
\end{tikzpicture}

Onglet Problèmes : 3D plots are drawn only when seen from above (view={0}{90}) for now

Ce qui diffère d’une installation TeX

Le manuel de pgfplots traite en détail \addplot3, les palettes et les contours : ctan.org/pkg/pgfplots.

Voir aussi les bases de pgfplots, Axes logarithmiques et pgfplots.

Questions et réponses

Comment créer une carte de chaleur en LaTeX ?

Utilisez \addplot3[surf, shader=interp] {f(x,y)}; (ou matrix plot* pour des données en tableau) dans un axe avec view={0}{90}, et ajoutez colorbar.

Scissor LaTeX dessine-t-il des surfaces 3D ?

Pas encore. \addplot3 n’est dessiné que vu de dessus (view={0}{90}) ; les autres vues laissent l’axe vide, et l’onglet Problèmes le signale.

Pourquoi contour gnuplot affiche-t-il un avertissement ?

Dans une installation TeX, il nécessite gnuplot et le shell escape. Scissor LaTeX dessine quand même les contours, mais avertit que le code peut ne pas compiler ailleurs. contour filled compile partout.

Chaque exemple de cette page est composé par Scissor LaTeX lors de la génération du site. Dernière mise à jour : 2026-11-07.