[Python] Méthode de paramétrage des polices japonaises pour matplot lib 3.2 [Conformité officielle]

: star: Introduction

--matplotlib (https://matplotlib.org/) est une bibliothèque bien connue pour dessiner des graphiques, etc. en Python. ――Cependant, si vous souhaitez utiliser le japonais pour les étiquettes dans le graphique, des caractères déformés (◻︎◻︎◻︎◻︎◻︎, il semble donc s'appeler tofu) se produiront par défaut. ――L'article qui est sorti lorsque j'ai cherché dans matplotlib japonais était assez gênant à cause de la méthode de la technique de puissance (comme celle qui réécrit directement le contenu du matplotlib installé), donc j'utiliserai la méthode introduite officiellement. j'écrirai

: question: N'utilisez-vous pas la bibliothèque de localisation japonaise?

--Il y a une personne aimable qui crée une bibliothèque de localisation japonaise de matpotlib appelée japanize-matplotlib (https://github.com/uehara1414/japanize-matplotlib). --Bien que vous puissiez l'utiliser, la méthode font_manager.createFontList utilisée dans cette bibliothèque est obsolète depuis 3.2.0 de matpotlib.

font_manager.createFontList is deprecated. font_manager.FontManager.addfont is now available to register a font at a given path.

――Par conséquent, lors de l'utilisation de matpotlib avec la version 3.2.0 ou supérieure, l'avertissement suivant s'affiche.

MatplotlibDeprecationWarning: 
The createFontList function was deprecated in Matplotlib 3.2 and will be removed two minor releases later. Use FontManager.addfont instead.

: Pencil: Ajouter une police japonaise avec FontManager.addfont

--Téléchargez et décompressez la police japonaise (IPAex Gothic cette fois)

from matplotlib import font_manager

font_manager.fontManager.addfont("/fonts/ipag.ttf")
matplotlib.rc('font', family="IPAGothic")

--Si vous avez plusieurs polices, procédez comme suit:

from matplotlib import font_manager

font_files = font_manager.findSystemFonts(fontpaths=["/fonts"])

for font_file in font_files:
    font_manager.fontManager.addfont(font_file)

matplotlib.rc('font', family="IPAGothic")

: tada: Bonus

from matplotlib import font_manager

font_files = font_manager.findSystemFonts(fontpaths=["/fonts"])
font_list = font_manager.createFontList(font_files) # 3.S'il est égal ou supérieur à 2, un avertissement sera émis.
font_manager.fontManager.ttflist.extend(font_list)
matplotlib.rc('font', family="IPAGothic")

: star: À la fin

«Je n'ai pas fait grand-chose, mais je vais l'écrire pour qu'il ne soit pas confus quand quelqu'un d'autre le recherchera.

Recommended Posts

[Python] Méthode de paramétrage des polices japonaises pour matplot lib 3.2 [Conformité officielle]
python Paramètre japonais respectueux de l'environnement
tesseract-OCR pour Python [version japonaise]
Réglage facile de la police japonaise avec matplotlib