[PYTHON] [Seaborn] Afficher le japonais (changer la police)

Seaborn? Seaborn est l'un des modules externes de Python créés dans le but de visualiser des données statistiques. Sur la page officielle

Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics. (Seaborn est une bibliothèque de visualisation Python basée sur matplotlib, qui fournit une interface de haut niveau pour dessiner des graphiques statistiques convaincants.)

C'est expliqué. En bref, c'est une bibliothèque qui rend matplotlib cool et facile à utiliser. Cependant, Seaborn ne peut pas bien afficher le japonais par défaut en raison de problèmes de police 1 </ sub>.

import seaborn as sns
sns.plt.plot([0,1], [0,1]); sns.plt.title('tofu -Tofu')

tofu1.png

Par conséquent, je voudrais réécrire la police afin qu'elle puisse afficher le japonais.

Thérapie symptomatique

À titre temporaire, il existe une méthode pour "spécifier la police à utiliser sur place":

sns.set(font='Yu Gothic')
sns.plt.plot([0,1], [0,1]);  sns.plt.title('tofu -Tofu')

tofu2.png Cependant, avec cette méthode, il est nécessaire de le définir à chaque fois que seaborn est importé, et la police est renvoyée à sa valeur par défaut à un moment donné 2 < Vous devez reconfigurer / sub>.

Cause thérapie?

En premier lieu, vous devriez pouvoir résoudre le problème en jouant avec la valeur par défaut de seaborn. Je vais les examiner dans l'ordre.

Ajouter des polices à matplotlib

seaborn fonctionne sur matplotlib, vous devez donc ajouter des polices à matplotlib pour utiliser vos polices préférées.

Téléchargement de polices

Tout va bien, mais cette fois j'utiliserai la police IPAex. Après le téléchargement et la décompression, vous devriez voir un fichier appelé ʻipaexg.ttf`.

Trouvez l'emplacement du fichier de configuration matplotlib et ajoutez la police

import matplotlib as mpl
print(mpl.matplotlib_fname())

Essayez de courir. Vous verrez le chemin d'accès au fichier de configuration auquel votre matplotlib fait actuellement référence. La valeur par défaut est «python_install_folder \ lib \ site-packages \ matplotlib \ mpl-data \ matplotlibrc». Copiez le fichier ʻipaexg.ttf que vous avez téléchargé précédemment dans le dossier où matplotlibrcexiste, c'est-à-dire le dossierttf dans le dossier fonts sous mpl-data`. Maintenant, matplotlib peut utiliser les polices IPAex 3 </ sub>.

Réécrire le fichier de configuration seaborn

Ouvrez rcmod.py dans le dossier seaborn dans site-packages avec un éditeur. Mettez en commentaire le def set (context =" notebook ", ... aux lignes 66-67 et ajoutez la ligne suivante:

def set(context="notebook", style="darkgrid", palette="deep",
        font="IPAexGothic", font_scale=1, rc=None):

De plus, commentez le "" font.family ": [" sans-serif "]` autour des lignes 199-201 et ajoutez la ligne suivante:

"font.family": ["IPAexGothic"],

Vous êtes maintenant prêt 4 </ sub>. Lançons à nouveau Python et vérifions-le.

import seaborn as sns
sns.plt.plot([0,1], [0,1]);  sns.plt.title('tofu -Tofu')

tofu3.png Bien!

Au fait

import matplotlib as mpl
font_paths = mpl.font_manager.findSystemFonts()
font_objects = mpl.font_manager.createFontList(font_paths)
font_names = [f.name for f in font_objects]
print(font_names)

Lorsque vous exécutez, matplotlib crache une liste des noms de polices actuellement disponibles (Polices par défaut dans la visualisation des données statistiques Seaborn dans iPython).


1. Je ne peux pas afficher le japonais sous Windows, mais je ne sais pas ce qui se passe sur Mac et Linux. Si vous ne pouvez pas afficher le japonais, vous devriez pouvoir le résoudre de la même manière. 2. sns.set () restaurera la valeur par défaut 3. Il semble que ce dossier puisse être écrasé lors de la mise à jour de matplotlib. 4. Ce dossier est susceptible d'être écrasé lors de la mise à jour de Seaborn.

Recommended Posts

[Seaborn] Afficher le japonais (changer la police)
Affichage japonais de matplotlib, seaborn
Afficher le fichier JSON japonais
Réglage facile de la police japonaise avec matplotlib
Changer la taille de la police sur Serene Linux
(Mac) Comment afficher en japonais avec Matplotlib et Seaborn sur MacOS Sierra