【问题标题】:NetworkX node_shape from svg来自 svg 的 NetworkX node_shape
【发布时间】:2026-01-20 21:00:01
【问题描述】:

是否可以使用 svg 图像在 Networkx 中创建自定义节点?例如:

使用此 svg 图片:https://upload.wikimedia.org/wikipedia/commons/6/67/Firefox_Logo%2C_2017.svg

在伪代码中:

nx.draw(G, pos=pos, node_shape=svg_string)

最终得到这样的结果:

这是怎么做到的?

【问题讨论】:

  • Matplotlib 不支持导入矢量图形,因此将 SVG 文件和 matplotlib 图形结合起来很痛苦(尽管严格来说可以通过 svg-utils 进行。使用 SVG 格式的图形对您来说有多重要?光栅化像PNG文件这样的格式也可以吗?

标签: python networkx


【解决方案1】:
  1. 将图形转换为点1
  2. 将节点绘制为图像。 2

【讨论】:

  • 对于#1 我可以做到P = nx.nx_pydot.to_pydot(G)。我将如何到达#2?引用的链接似乎在 python 之外。