Format des nombres dans les graphiques matplotlib avec usetex
Bonjour à toutes et tous.
Je souhaite que les nombres en abscisse et ordonnée de mes graphiques soient formatés conformément aux règles françaises, à savoir avec la virgule comme séparateur décimal et, si possible, une espace fine insécable comme séparateur des milliers. Le tout en aspect LaTeX. Voici un exemple minimal qui montre le problème que je rencontre.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
from matplotlib import pyplot as plt
import locale
locale.setlocale(locale.LC_NUMERIC, 'fr')
plt.rcParams.update({
'axes.formatter.use_locale':True,
'text.usetex': True,
'font.family': 'Computer Modern',
'text.latex.preamble' : r'\usepackage{icomma}',
})
plt.plot([0,200],[0,1])
plt.show()
plt.plot([0,1200],[0,1])
plt.show() |
Le premier graphique est créé sans problème. La locale fr met bien la virgule comme séparateur décimal, le package LaTeX icomma évite l'espace après la virgule.
Le deuxième graphique n'est pas créé car le séparateur décimal voulu pour les milliers, espace fine insécable, n'est pas reconnu par LaTeX. Le message d'erreur est
! LaTeX Error: Unicode character (U+202F) not set up for use with LaTeX.
J'ai essayé d'ajouter un préambule LaTeX \DeclareUnicodeCharacter{202F}{\,} par exemple, sans succès...
Merci pour votre aide.