渲染图表

在本节中,我们将讨论如何渲染一个 VisualizationGraph 对象以展示图形可视化。

如果您尚未创建 VisualizationGraph 对象,请参考以下章节之一

render 方法

一旦拥有 VisualizationGraph 对象,就可以使用 render 方法对其进行渲染。该方法会返回一个 HTML 对象,可在支持 HTML 渲染的环境中显示,例如 Jupyter Notebook 或 Streamlit 应用。

render 方法的所有参数都是可选的,完整的参数列表请参见 API 参考文档:neo4j_viz.VisualizationGraph.render()

最重要的参数是 widthheight,它们控制渲染后 HTML 对象的尺寸。可以使用可用空间的百分比(例如 "80%")或绝对像素值(例如 "800px")来指定。

此外,您可以通过 layout 参数更改图形布局,可设置为以下值之一

  • Layout.FORCE_DIRECTED - 使用力导向算法排列节点,该算法模拟物理作用力。要自定义布局,请通过 layout_options 使用 ForceDirectedOptions

  • Layout.HIERARCHICAL - 根据关系的方向性排列节点,形成树状结构。要自定义布局,请通过 layout_options 使用 HierarchicalLayoutOptions

  • Layout.COORDINATE - 根据每个节点的 xy 属性坐标进行排列。

另一个需要注意的参数是 max_allowed_nodes,它控制可渲染图形中允许的最大节点数。默认值为 10,000,因为渲染大量节点可能会变慢甚至无响应。如果您确信环境能够处理更大的规模,可以提升此值。此时也可以将 renderer 参数设为 Renderer.WEB_GL 以提升性能。

默认情况下,当鼠标悬停在节点或关系上时会显示包含 ID 和属性的工具提示。您可以通过传入 show_hover_tooltip=False 来禁用该功能。

示例

请参阅 快速入门教程 以获取 render 方法使用示例。

导出为 HTML

render 方法返回的对象是 IPython.display.HTML 实例。除了可以在 Jupyter Notebook 或 Streamlit 应用中显示外,还可以将其保存为 HTML 文件。这在您希望与他人共享可视化或嵌入网页时非常有用。

要将 HTML 数据保存至文件,可使用该 HTML 对象的 data 属性

html = VG.render(...)

with open("my_graph.html", "w") as f:
    f.write(html.data)