在 Neo4j 中可视化数据
本节解释了图可视化工具选项,以及如何使用可视化工具从数据中获取洞察。
Neo4j 的设计本质上非常可视化。像 Neo4j 这样的原生图数据库侧重于关系。可视化这些关系可以为您的数据提供独特的“大局观”,这是传统表格和商业智能包难以或无法获得的。
图可视化通过以各种格式绘制图来进一步提升这些功能,使用户能够以更友好的方式与数据交互。借助可视化工具,完整或部分的图可以生动起来,并允许用户探索它,设置各种规则或视图,以便从不同角度进行分析。
本节旨在帮助您了解如何导出 Neo4j 中的图数据以进行可视化显示,并列出选项,以便您可以选择适合您需求的工具。
为什么要可视化图?
您有许多处理数据的选项;JSON、XML、表格等。为什么要以视觉方式呈现数据?
任何查看图的人都可以看到连接、确定感兴趣的区域,或者快速评估数据的当前状态和组织。正如您可以想象的,这可以在其他类型的数据格式无法提供洞察的地方提供巨大价值。可视化有助于使异常或相关模式突出,以帮助人眼和大脑检测它们,而其他类型的数据格式可能无法很好地突出隐藏的结构。
让我们来看一个非常基本的例子,使用我们之前数据建模部分指南中的电影数据。在上面的图视图中,我们可以轻松地看出 Lana Wachowski
导演了 Cloud Atlas
和 The Matrix
两部电影,而在表格表示中,这些信息不那么清晰或容易找到。
即使您觉得在表格格式中找到关系并不难,想象一下如果我们正在查看一个包含这些个体整个电影生涯以及数百名其他演员、导演和电影工作人员的图。在非视觉呈现中,这些连接很容易丢失。
Neo4j 可视化工具和产品
Neo4j 有两个主要的内置可视化工具,专门设计用于处理 Neo4j 图数据库中的数据:Neo4j Browser 和 Neo4j Bloom。我们在此将简要讨论它们的关键细节。
Neo4j Bloom
Bloom 是一款专注于可视化的产品,随每个 AuraDB 实例提供。它既可与 Neo4j Desktop 一起使用,也可独立使用。它专为业务分析师和其他非开发人员设计,无需编写任何代码即可与图数据交互。
用户可以使用自然语言查询数据库,并探索图数据中的模式、集群和遍历。还可以创建图的不同剖析(称为透视图),允许用户查看图数据的不同方面和切片,以进行进一步分析。
Neo4j Browser
Neo4j Browser 是一个交互式 Cypher® 命令行工具,供开发人员使用,允许您与图交互并可视化其中的信息。Neo4j Browser 与 Neo4j 捆绑在一起,并在所有 Neo4j 版本中均可用。
其可视化功能旨在响应给定的 Cypher 查询,显示数据库中存储的基础数据的节点图表示,其中节点用圆形表示,关系用线条表示。Neo4j Browser 还提供了一些基于节点标签和关系类型进行颜色和大小样式设置的功能,或者您可以通过导入 GRASS(图样式表)文件来自定义自己的样式,供 Neo4j Browser 引用。您还可以使用查询结果窗格中的内置下拉按钮,轻松将数据导出为 PNG、SVG 或 CSV 格式。
图数据的其他可视化方式
并非所有图可视化都以圆形和线条表示节点和关系数据。用户可能希望以各种基于图表、基于地图或 3D 格式查看数据。
基于图表的可视化
对于不同的用户和业务需求,以熟悉的图表格式(如条形图、直方图、饼图、仪表盘、测量仪及其他表示形式)查看数据可能会更受欢迎。有一些工具支持这些类型的图表用于指标和仪表盘。
有几个开源工具可用,但我们将提及一些我们以前使用过的工具并附上链接。欢迎探索其他工具!
Tableau
Tableau 是一款数据分析工具,可以从各种来源获取数据,并根据用户指定进行混合或拆分数据。使用 Neo4j Connector for BI,您可以像连接任何其他 SQL 数据库一样在 Neo4j 和 Tableau 之间建立连接,并直接可视化数据。
一旦数据进入 Tableau,用户就可以通过拖放 Tableau GUI 来聚合、切片和样式化数据的各种组合,将其转换为无数格式的彩色可视化。
Chart.js
博客文章:绘制 Neo4j 图表
基于地图的可视化
图数据非常适合映射和表示地理数据,因为它按实体和连接(位置/点和到达这些位置的路线)进行布局。Neo4j 可以帮助绘制经纬度、多边形几何图形、路线以及距离,因此,在数据前端叠加地图可视化工具对于交互和探索区域提供了巨大的价值。
Tom Sawyer 和 Keylines 的商业工具也支持这种类型的可视化。
Leaflet.js 是一个开源库,允许我们创建多个图层并显示/隐藏各种图层。它旨在实现交互式,并可在移动电话和传统设备上运行。您可以使用各种插件(包括 Mapbox)扩展其功能。借助这些工具,您可以创建基础地图图层(例如地图切片),数据可视化则位于绘制在地图切片之上的地图图层中。Mapbox 还为您提供了添加交互式地图的功能。
Leaflet.js 资源
-
Leaflet.js 网站:Leaflet.js
-
示例源代码:Leaflet/Mapbox 空间 Neo4j
-
示例源代码:Leaflet/Mapbox 交互式地图
热力图可视化
热力图是一种数据可视化,其中颜色用于表示数据值。它通常叠加在地图上,但也可以在矩阵上。当热力图用于地图时,活动区域可能会分散,因此通常使用某种形式的插值。
我们将列出我们迄今为止遇到的工具,但随着我们接触更多工具,我们将进行补充。
-
Leaflet.js 插件
3D 可视化

添加第三维可能会增加可视化的复杂性,但也会增加价值。在 3D 中探索数据可以更好地、更清晰地浏览大量数据。在 3D 可视化中,聚类也应该更明显,因为使用第三维时数据可以更分散,而 2D 可能导致组重叠或显示更紧密。
Kineviz(商业工具)也支持这种类型的可视化。
借助这个开源库,有几个不同的组件用于处理三维背后的物理原理以及实际渲染可视化。它使用迭代方法进行 3D 渲染,并创建令人惊叹的交互式可视化。该工具包含用于自定义节点和关系样式、容器布局、渲染控制、配置模拟和用户交互的功能。所需的数据结构与我们之前见过的工具类似,具有节点和关系的集合。3d-force-graph 还提供与虚拟现实一起使用的可视化功能。