Comment inclure un graphique ?

  • Imaginons que vous ayez un tableau de données, et que vous souhaitiez en faire une représentation graphique dans votre document LaTeX. Pour cela, vous n’avez besoin d’aucun logiciel externe. En dessinant votre graphique directement en LaTeX, vous aurez une intégration complète du texte et de la figure: police de caracatères identique, taille de la figure qui s’adapte à la taille du texte, couleurs identiques (si besoin).

Note

Si vous avez déjà un graphique, obtenu à partir d’un autre logiciel (R, MatLab, LibreOffice, Excel…) vous pouvez simplement l’inclure avec:

\includegraphics[width=50ex]{fichier}

Dans ce cas, il est préférable que le graphique soit au format PDF, mais il est également possible d’inclure du PNG ou du JPEG.

Voir cette page pour davantage de détails.

Avec PGFplots

  • Le package PGFplots utilise TikZ pour construire le dessin, tout en fournissant une syntaxe intuitive pour décrire le résultat que vous voulez.

Il propose un environnement axis, dont les paramètres modifient le style de graphique:

À faire

Ajouter un exemple.

Avec TikZ (mais sans PGFplots)

  • Si votre graphique est tellement particulier qu’il s’écarte de ce que sait faire PGFplots, vous pouvez très bien utiliser directement TikZ.

Ici, un exemple plutôt simple pour construire un repère avec des axes gradués:

<WRAP column 50ex>

\documentclass{article}
  \usepackage{tikz}

 %% Author: Ista Zahn
 %% Source: https://texample.net/tikz/examples/scatterplot/
\begin{document}
\begin{tikzpicture}[only marks, y=.5cm]
    %%\draw plot[mark=*,xshift=-6cm] file {data/ScatterPlotExampleData.data};
    \draw[->,xshift=-6cm] (6,0) -- coordinate (x axis mid) (17,0);
    \draw[->,xshift=-6cm] (6,0) -- coordinate (y axis mid)(6,27);
    \foreach \x in {6,8,10,12,14,16}
        \draw [xshift=-6cm](\x cm,1pt) -- (\x cm,-3pt)
            node[anchor=north] {$\x$};
    \foreach \y/\ytext in {0/0,2.5/5000,5/10000,7.5/15000,10/20000,12.5/25000}
        \draw (1pt,\y cm) -- (-3pt,\y cm) node[anchor=east] {$\ytext$};
    \node[below=5mm] at (x axis mid) {Années d'études};
    \node[left=15mm,rotate=90] at (y axis mid) {Revenus};
\end{tikzpicture}
\end{document}

</WRAP> <WRAP column 30ex>

</WRAP> <WRAP clear />