Невозможно отобразить график с использованием networkx, который содержит имя узла на тайском языке

Я пытался построить график, используя networkx, имена узлов которого на тайском языке. Проблема в том, что он не может отображаться на тайском языке, а draw_networkx () не предоставляет параметр для utf_8. Пожалуйста, дайте мне предложение.

import networkx as nx

G=nx.Graph()

G.add_node('กิน')
G.add_node('หิว')
G.add_node('ข้าว')
G.add_node('ถั่ว')
G.add_node('milk')

G.add_edge('กิน','หิว')
G.add_edge('กิน','ข้าว')
G.add_edge('กิน','ถั่ว')
G.add_edge('กิน','milk')

pos = nx.spring_layout(G)
nx.draw_networkx(G, pos,node_size= 2400)
plt.savefig('test.png')

enter image description here

0
0
116
1

Ответы 1

Один из способов состоит в изменении font family и передаче его в качестве аргумента ключевого слова при вызове nx.draw_networkx ().

Например, в моей ОС я по умолчанию установил Ayuthaya.

nx.draw_networkx(G, pos,node_size= 2400,font_family='Ayuthaya')

Это приводит к следующему выводу:

enter image description here

Другие вопросы по теме