渲染图¶
本节将讨论如何渲染 VisualizationGraph 对象以显示图可视化。
如果您尚未创建 VisualizationGraph
对象,请参考以下任一章节
开始使用 用于使用
neo4j-viz
原语(如 Node 和 Relationship 以及 VisualizationGraph)直接从头创建可视化图。或者与其他库集成 用于从 Pandas DataFrame 或 Neo4j GDS 投影导入数据。
render
方法¶
拥有 VisualizationGraph
对象后,可以使用 render
方法对其进行渲染。这将返回一个 HTML 对象,该对象将显示在支持 HTML 渲染的环境中,例如 Jupyter notebooks 或 streamlit 应用程序。
render
方法的所有参数都是可选的,完整的参数列表可在 API 参考中查看:neo4j_viz.VisualizationGraph.render()
。
最重要的参数是 width
和 height
,它们控制将要渲染的 HTML 对象的大小。您可以将其指定为可用空间的百分比(例如 "80%"
),或指定为绝对像素值(例如 "800px"
)。
此外,您可以使用 layout
参数更改图的布局,该参数可设置为以下值之一
Layout.FORCE_DIRECTED
- 节点使用模拟物理力的力导向算法排列。要自定义布局,请通过 layout_options 使用 ForceDirectedOptions。`Layout.HIERARCHICAL
- 根据节点关系的指向性排列节点,创建树状结构。要自定义布局,请通过 layout_options 使用 HierarchicalLayoutOptions。`Layout.COORDINATE
- 根据每个节点上 x 和 y 属性中定义的坐标排列节点。
另一个值得注意的参数是 max_allowed_nodes
,它控制图允许包含的最大节点数以便进行渲染。它默认为 10.000,因为渲染大量节点可能会慢且无响应。但是,如果您确信您的环境可以处理这个规模,则可以增加此值。在这种情况下,您可能还想将 Renderer.WEB_GL
作为 renderer
传递以提高性能。
默认情况下,当鼠标悬停在节点或关系上时,会显示一个显示 ID 和属性的工具提示。但您可以通过传入 show_hover_tooltip=False
来禁用此功能。
示例¶
导出到 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)