Letztes Mal habe ich eine Python-Umgebung mit pyenv-virtualenv auf dem Mac erstellt, aber japanische Zeichen wurden mit Matplotlib und NetworkX verstümmelt, die ich zu diesem Zeitpunkt eingegeben habe. Ich war in einem Zustand des Seins.
Beide sind bekannte Bibliotheken, daher denke ich nicht, dass sie passen würden, wenn Sie sie normal installieren würden, aber sie sind in Ihrer Umgebung verstümmelt. Ich habe versucht, eine Lösung zu finden.
Beispielcode
matplotlib-utf8.py
import matplotlib.pyplot as plt
plt.text(0.2, 0.2, "japanisch", fontsize=50)
plt.show()
Wenn Sie diesen Code ausführen
python matplotlib-utf8.py
Der japanische Teil ist so verstümmelt.
Dies wurde durch Angabe einer japanischen Schriftart in der Datei .matplotlib / matplotlibrc behoben.
~/.matplotlib/matplotlibrc
font.family :Hiragino Kaku Gothic Pro
backend : TkAgg
In NetworkX können Sie Text auf einem Knoten mit draw_networkx_labels anzeigen. Selbst wenn Sie in matplotlib eine Schriftart angeben, bleiben die Zeichen verstümmelt.
Dies wurde behoben, indem eine japanische Schriftart wie Hiragino Kakugo im Parameter font_family von draw_networkx_labels angegeben wurde.
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:"Null",1:"Zuerst",2:"Zwei",3:"drei"}
nx.draw_networkx_labels(G,pos,labels,font_size=16,font_family='Hiragino Kaku Gothic Pro')
plt.show()
Bei der Ausführung kann es in Netzwerk X auf Japanisch angezeigt werden.
python networkx-label.py
Recommended Posts