Élimination des caractères japonais brouillés de matplotlib et NetworkX de la bibliothèque Python

Mattplotlib et NetworkX sont brouillés dans l'environnement créé par pyenv-virtualenv

La dernière fois, j'ai créé un environnement Python en utilisant pyenv-virtualenv sur Mac, mais les caractères japonais ont été brouillés avec matplotlib et NetworkX que j'ai mis à ce moment-là. J'étais dans un état d'être.

Les deux sont des bibliothèques bien connues, donc je ne pense pas qu'elles s'intégreraient si vous les installiez normalement, mais elles sont brouillées dans votre environnement. J'ai essayé de trouver une solution.

Afficher le japonais avec matplotlib

Exemple de code

matplotlib-utf8.py


import matplotlib.pyplot as plt
plt.text(0.2, 0.2, "Japonais", fontsize=50)
plt.show()

Lorsque vous exécutez ce code

python matplotlib-utf8.py

スクリーンショット 2016-02-08 18.24.33.png La partie japonaise est brouillée comme ça.

Ce problème a été résolu en spécifiant une police japonaise dans le fichier .matplotlib / matplotlibrc.

~/.matplotlib/matplotlibrc


font.family :Hiragino Kaku Gothic Pro
backend : TkAgg

スクリーンショット 2016-02-08 18.23.32.png

D'autre part, dans le réseau X

Dans NetworkX, vous pouvez afficher du texte sur un nœud avec draw_networkx_labels, mais même si vous spécifiez une police dans matplotlib, les caractères restent déformés.

スクリーンショット 2016-02-08 18.13.08.png

Ce problème a été résolu en spécifiant une police japonaise telle que Hiragino Kakugo dans le paramètre font_family de draw_networkx_labels.

networkx-label.py


import matplotlib.pyplot as plt
import networkx as nx

G=nx.Graph()
G.add_edge(0,1)
G.add_edge(1,2)
G.add_edge(2,0)
G.add_edge(0,3)

pos=nx.spring_layout(G)

nx.draw_networkx_edges(G,pos,width=1.0,alpha=0.5)

labels={0:"zéro",1:"Premier",2:"Deux",3:"Trois"}
nx.draw_networkx_labels(G,pos,labels,font_size=16,font_family='Hiragino Kaku Gothic Pro')

plt.show()

Une fois exécuté, il peut être affiché en japonais sur le réseau X.

python networkx-label.py

スクリーンショット 2016-02-08 18.10.21.png

Postscript

Recommended Posts

Élimination des caractères japonais brouillés de matplotlib et NetworkX de la bibliothèque Python
Éliminez les caractères japonais brouillés dans les graphiques matplotlib avec Cloud Pak for Data Notebook
Comment éliminer les caractères déformés dans l'image de sortie matplotlib
Éliminez les caractères japonais brouillés dans les données JSON acquises par l'API.
[Python] Lire le csv japonais avec des pandas sans caractères déformés (extraire davantage les colonnes écrites en japonais)
Résolvez les caractères japonais brouillés dans matplotlib de Jupyter Notebook sur Docker
Windows Qt5.4 Python3.4 QProcess caractères japonais brouillés
Créer une image avec des caractères avec python (japonais)
Correction des caractères déformés lors du traitement du japonais dans les requêtes
Sortie japonaise avec Python
J'ai écrit python en japonais
seaborn, matplotlib Élimination des caractères brouillés dans Windows10, environnement virtuel Anaconda
Remplacer les fonctions de bibliothèque en Python
[Visual Studio Code] [Python] [Windows] Prise en charge des caractères japonais déformés dans la sortie de tâche / débogage VS Code
Pile et file d'attente en Python
Graphique des données de séries chronologiques en Python à l'aide de pandas et matplotlib
Unittest et CI en Python
Je comprends Python en japonais!
Obtenez des synonymes japonais avec Python
Comptez bien le nombre de caractères thaïlandais et arabes en Python
Visualisez des graphiques avec des arêtes étiquetées en japonais sur NetworkX et PyGraphviz / Gephi
Différence entre list () et [] en Python
Différence entre == et est en python
Installer SciPy et matplotlib (Python)
[Python / matplotlib] Comprendre et utiliser FuncAnimation
Manipuler des fichiers et des dossiers en Python
À propos de Python et Cython dtype
Affectations et modifications des objets Python
Afficher des caractères comme AA en python
Windows10: Installation de la bibliothèque MeCab pour python
Vérifiez et déplacez le répertoire en Python
Chiffrement avec Python: IND-CCA2 et RSA-OAEP
Hashing de données en R et Python
Heatmap avec dendrogramme en Python + matplotlib
Synthèse de fonctions et application en Python
Exporter et exporter des fichiers en Python
Rendre matplotlib compatible avec le japonais en 3 minutes
Inverser le pseudonyme plat et le katakana en Python2.7
Lire et écrire du texte en Python
[GUI en Python] Menu PyQt5 et barre d'outils-
Comment gérer le japonais avec Python
La première étape de Python Matplotlib
Créer et lire des paquets de messages en Python
Remplissez la chaîne avec des zéros en python et comptez certains caractères de la chaîne
Traitement de décompression (récursif) des caractères déformés pour tous les Zips du dossier Python (premier message de Qiita)
Détectez les caractères japonais à partir d'images à l'aide de l'API Cloud Vision de Google avec Python
Chevauchement d'expressions régulières en Python et Java
Afficher les formules de notation LaTeX en Python, matplotlib
Paramètres japonais pour les axes matplotlib et Seaborn
Différence d'authenticité entre Python et JavaScript
Notes utilisant cChardet et python3-chardet dans Python 3.3.1.
Les modules et packages en Python sont des "espaces de noms"
Évitez les boucles imbriquées en PHP et Python
Affichage du graphique en chandeliers en Python (édition matplotlib)
Différences entre Ruby et Python dans la portée
Modulation et démodulation AM avec Python Partie 2
différence entre les instructions (instructions) et les expressions (expressions) en Python
Valeurs authentiques et vecteurs propres: Algèbre linéaire en Python <7>
Module d'implémentation de file d'attente et Python "deque"
Graphique à lignes pliées et ligne d'échelle en python
Comparaison des modules de conversion japonais en Python3