【问题标题】:Cannot display graph using Networkx which contains node's name in Thai无法使用包含泰语节点名称的 Networkx 显示图形
【发布时间】:2026-01-10 02:05:04
【问题描述】:

我一直在尝试使用 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')

【问题讨论】:

    标签: python matplotlib nlp networkx


    【解决方案1】:

    一种方法是更改​​font family 并在调用nx.draw_networkx() 时将其作为关键字参数传递。

    例如在我的操作系统中,我默认安装了Ayuthaya

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

    这导致以下输出:

    【讨论】:

      最近更新 更多