【发布时间】:2016-01-16 10:00:31
【问题描述】:
我正在使用 networkX 从距离矩阵(emoji_sim、DataFrame)中绘制网络图。代码如下:
G = nx.from_numpy_matrix(np.array(emoji_sim))
nx.draw(G, edge_color='silver', node_color='lightsalmon', with_labels=True)
plt.show()
我知道有一种方法可以将节点重新标记为:
G = nx.relabel_nodes(G, dict(zip(range(len(G.nodes())), range(1, len(G.nodes())+1))))
但我想用图像替换节点标签(可能从文件中读取或使用 Python Emoji 包)。有没有办法做到这一点?非常感谢!
为了澄清,我试图用图像代替实际的圆圈。
【问题讨论】:
-
您想要更改标签,还是更改为节点绘制的实际圆圈?
-
感谢您的提问。我正在尝试将圆圈更改为图像。
-
我不认为它是内置的,但我认为它并不难。我没有时间研究整个解决方案,但这里有一个提示,希望能引导其他人填写详细信息:您可以使用 networkx 获取节点位置。然后使用 matplotlib 在这些位置绘制图像。然后画出边缘。
标签: python data-visualization networkx