Skip to content

Les figures dans les documents scientifiques

Cette page est consacrée aux figures, dans lesquels on retrouvera les graphiques et les images.

Tom Gauld
Le département des théories fumeuses, Tom Gauld, Éditions 2024, 2020, ISBN 978-2-901000-42-6.

Figure, image, graphique, etc.

Dans l'édition scientifique, on appelle « figure » l'ensemble des éléments graphiques légendés qui ne sont pas des tableaux. Cela recoupe aussi bien des images que des graphiques, parfois des compositions de ces éléments. En effet une figure peut comporter plusieurs sous-figures (images, graphiques).

Typologie des images : matriciel et vectoriel

Il existe deux grandes typologies d'images, les images matricielles et les images vectorielles. Comprendre la différence entre les deux peut nous aider à améliorer la qualité des images dans nos documents.

Les images matricielles (bitmap)

bitmap = carte de points

Il s'agit d'une carte de pixels : à chaque pixel est associé une couleur. L'image est caractérisée par sa taille, sa résolution (le nombre de pixel par unité de longueur) et l'échelle de couleurs (nombre de canaux couleurs, précision). C'est le format des photos et de beaucoup d'images numériques.

Les formats matriciels les plus courants sont : BMP, GIF, TIFF, PNG, JPEG.

Les images matricielles sur Wikipédia.

Les images vectorielles

Vectoriel = formes géométriques

Image numérique composée d'objets géométriques définis par leurs attributs (forme, position, couleur, etc.). Dans une image vectorielle, lors de transformations ou redimensionnement (notamment à l'affichage), les objets sont recalculés, et affichés à une résolution adaptée. Contrairement aux images bitmap, les images vectorielles sont toujours nette !

Les images vectorielles sur Wikipédia.

Ne gâchez pas tout !

Avant d'être exportées (sauvagement), les graphiques issus des tableurs (Excel, Calc, etc.) et logiciels de calcul numérique (Python, MatLab, etc.) sont des images vectorielles. On pourra essayer de conserver le caractère vectoriel à l'export. Dans le cas d'un export bitmap, on fera attention à ne pas trop dégrader la qualité.


Faire un joli graphique

Un peu de théorie

À quoi sert un graphique ? Généralement un graphique sert à synthétiser une grande quantité d'information sous forme graphique. Pourquoi la représentation graphique semble-t-elle plus efficace que le texte ? Une manière de répondre est de s'intéresser à la manière qu'a notre cerveau d'interpréter les informations graphiques.

Les attributs pré-attentif de l'information

Pour stimuler la mémoire à court terme et synthétiser une grande quantité d'informations, nous allons solliciter les attributs pré-attentifs reconnus par notre cerveau : forme (orientation, taille, épaisseur, etc.), couleur, position. Un graphique efficace mobilisera intelligemment ces différents éléments.

preattentive-attributes
Les attributs pré-attentifs de l'information, à utiliser dans les figures et schémas, tiré de Tapping the Power of Visual Perception, Stephen Few, 2004.

Les règles pour de jolis graphiques

Quelques règles pour réaliser de beaux graphiques

  • bien utiliser la surface à disposition (peu d'espace "perdu")
  • utiliser les attributs pré-attentifs de l'information (forme, couleur, position)
  • soigner les axes pour les rendre lisibles : ajouter une légende, adapter la police
  • tracer les grandeurs discrètes (ex : mesures) avec des points, les modèles mathématiques continus avec les lignes
  • référencer l'image dans le texte : dans les logiciels d'éditions, les figures sont légendées (Figure XX : description) et doivent faire l'objet d'un renvoi dans le texte.

Example de texte de renvoi à la figure

Sur la Figure 1, on peut voir l'effet visuel de différents types de tracé. Dans tous ces cas, nous avons optimisé l'utilisation de la surface de graphique (règle 1). Le dernier graphique s'approche de ce que l'on peut attendre d'un graphique scientifique.

graph-01
Un jeu de données représenté de différentes manières.

Les logiciels scientifiques qui produisent des graphiques

Il existe une infinité de manières de faire des graphiques. N'hésitez pas à essayer différents logiciels, pour trouver celui qui vous convient le mieux, en fonction des situations.

Les tableurs : Excel, LibreCalc

Pas besoin de les présenter. Excel et LibreOffice Calc sont les plus répandus. C'est à la fois la solution la plus évidente pour la plupart d'entre vous. Mais c'est aussi la plus limitée pour arriver à des résultats satisfaisants. Difficilement automatisables et sensibles aux versions des logiciels, ils sont à privilégier pour de l'édition manuelle ; pour des tâches répétitives, donc automatisables, préférez d'autres logiciels.

Python, Matlab, etc.

Les logiciels de calcul matriciel (Python Matplotlib*, MatLab, GNU Octave*, SciLab*) ou de calcul formel (Wolfram Mathematica, Maple, SageMath*)

* logiciels libres

Besoin d'aide sur Python ?

Pour l'édition de graphiques sur Python avec Matplotlib, on vous renvoie vers les Matplotlib cheat sheets

Les notebooks

Les environnements de calcul intégrés dans des interfaces web ont de plus en plus de succès. Les Jupyter notebooks permettent de mettre en forme des programmes Python ou SageMath dans son navigateur web. Ils permettent donc de générer et d'exporter des graphiques.

Gnuplot

GnuPlot est un utilitaire graphique en ligne de commande. Multi-plateformes (Linux,Windows), libre et gratuit, il permet de tracer des graphiques à partir de scripts en lignes de commandes.


Exporter ses graphiques

Export de graphique : une étape cruciale

Une fois que vous êtes satisfaits de votre graphique, vous allez généralement l'exporter sous forme d'image. C'est à ce moment que beaucoup de choses se jouent sur la qualité de l'image.

On arrête le copier-coller

Dans TOUS les cas, si vous faites un copier/coller, ou pire, une impression écran, vous devriez faire autrement.

panneau-non crtl-c-v

À chaque logiciel sa méthode

Les conseils donnés dans la suite dépendent du logiciel utilisé pour produire votre image, et de la destination finale de votre image.


Depuis un tableur

Du vectoriel au bitmap

Dans votre tableur, un graphique est encore vectoriel. Les conseils suivants doivent vous permettre de les conserver au format vectoriel dans vos documents écrits.

Du tableur à l'éditeur de texte

libreoffice-icons

Si vous réalisez votre graphique dans le tableur LibreOffice, et que vous destinez votre graphique à un document LibreOffice Writer.

  • LibreOffice Calc : clic-droit sur la figure > Exporter comme image (choisir un format)
  • LibreOffice Writer : il accepte le matriciel et le vectoriel (même PDF !)

Si vous réalisez votre graphique dans le tableur Excel, et que vous destinez votre image à un document Word.

Excel to Word

  • Depuis Excel: copier
  • Dans Word : collage spécial > Image (métafichier amélioré)

OU

Excel to PPT

  • Depuis Excel: copier
  • Dans Power Point : collage spécial > Image (métafichier amélioré) ; puis clic-droit, enregistrer comme image

Métafichier amélioré

Le métafichier amélioré de Microsoft Office est un format vectoriel. Exportez votre fichier au format PDF et admirez le résultat.


Depuis MatLab ou Python

les copier/coller ou impression écran sont toujours interdit !

Tous les logiciels de calcul peuvent exporter les images dans des tas de formats. Leur automatisation permet d'exporter simultanément dans différents formats. Les images, une fois exportées, pourront vous servir pour tous vos formats de documents.

Mise en œuvre dans Matlab

À partir d'une fenêtre graphique de MatLab, vous pouvez sauvegarder votre graphique avec Save As et choisir votre format préféré.

Un exemple pour exporter en PNG.

fig = figure ;
plot(x,y) 
print(fig,'monimage','-dpng')

Avantage en ligne de code

L'image sera mise à jour à chaque exécution de programme.

Mise en œuvre dans Python - Matplotlib

Si vous utilisez Python pour la visualisation de données, vous ne pouvez pas passer à côté des cheatsheets & handouts. Vous y trouverez plein d'infos pour réussir vos graphiques.

import matplotlib.pyplot as plt
import numpy as np

# données à tracer
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)

ax.set(xlabel='time (s)', ylabel='signal (unit)',
       title='une belle figure')
ax.grid()

fig.savefig("test-python.png")
plt.show()

test-python

Depuis Gnuplot

À partir de données contenues dans des fichiers texte, et en exécutant un script, Gnuplot génère toutes sortes de graphiques. Ci-dessous un exemple de script qui trace une série de données sur l'évolution de la température moyenne du globe (données du site OurWorldInData).

# script gnuplot

set terminal pngcairo size 1000,400 enhanced font 'Verdana,15'
set output 'global-temp.png'

set datafile separator ","
set grid
set title 'Réchauffement climatique'
set xlabel 'Années'
set ylabel 'Ecart de température [°C]'
set key left top
plot '< grep Global temperature-anomaly.csv' u 3:4:5:6 w yerrorbars title 'err', "" u 3:4 w l lt rgb 'red' title 'global'

global-temp

Mise en page des figures

La mise en page en général

Si vous vous intéressez à la mise en page en général, ce point est discuté sur la page Mise en page. Ici on fait un focus sur le positionnement des figures.

Généralités

Mise en page des figures

Restez simple : alternez le texte, la figure (et sa légende), puis de nouveau le texte.

Mise en oeuvre

Utilisez l'environnement figure

\begin{figure}
   \includegraphics[]{image.format}
   \caption{légende}
   \label{étiquette pour la référence}
\end{figure}

Voir plus loin.

Une mise en forme plus complexe, où la figure est composée de trois sous-figures.

Mise en oeuvre

Utilisez l'environnement subfigure

Voir plus loin.

Dans les logiciels d'édition, il est possible d'habiller les images par le texte. Cela se pratique dans les magazines, journaux, etc., mais peu dans les articles scientifiques. Il est plus difficile de maîtriser ce que l'on fait avec ce type de mise en page.

On vous le déconseille, même si vous avez l'impression que cela vous fait gagner de la place. Préférez plutôt la solution qui consiste à regrouper plusieurs images dans une même figure.

Mise en page des figures dans les logiciels bureautique

Lorsqu'une figure est insérée dans un logiciel bureautique (Word, Writer, etc.), elle peut être habillée de différentes manières. Elle peut être traitée comme un caractère (texte) ou être placé à une position spécifique sur la page. Il n'est pas si facile de maîtriser ce comportement. Pour éviter les problèmes, nous recommandons une méthode unique, qui consiste en fait à imiter le balisage qui existe en LaTeX ou HTML.

Utilisez des tableaux pour placer les images

L'astuce la plus simple consiste à utiliser un tableau pour placer les figures. Cela permet de positionner les images, la légende, et une fois les bordures effacées, on ne voit plus le tableau.

N'oubliez pas d'appliquer un style pour l'image, et un style pour la légende.

Dans ce cas, un tableau 2 lignes \(\times\) 1 colonne suffit.


Figure
Figure 1 : légende de la figure

Ici un tableau 3 lignes \(\times\) 2 colonnes ; la dernière ligne est fusionnée.



Figure a Figure b
(a) (b)
Figure 1 : légende de la figure, (a) détail légende figure a, (b) détail légende figure b.

Il est possible de mettre plus de sous-figures dans une figure. Cela peut avoir un intérêt si les figures ont un rapport entre elles (par exemple différentes analyses d'un même jeu de données). Pensez tout de même à adapter la légende en conséquence.



Figure a Figure b
(a) (b)
Figure c
(c)
Figure 1 : légende générale de la figure, (a) détail légende figure a, (b) détail légende figure b, (c) détail légende figure c.