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.
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
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
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.
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
Recommended Posts