可视化图表很难。当我开始处理图表数据时,我意识到创建直观的图表可视化需要付出大量努力。幸运的是,已经开发了大量工具,使图表可视化变得轻而易举。
在本文中,我将详细介绍我最喜欢的一些工具。我根据这些工具的功能和用途将它们分为几类。阅读完后,您应该对图形可视化领域有一个大致的了解,并且(希望)找到适合您可视化需求的工具。
图形可视化工具的类别
在深入研究这些工具之前,了解工具的类别非常重要。所有可视化工具包都是为特定目的而构建的,因此您必须确保工具的用途符合您的需求。
我将所有图形可视化工具分为四个主要类别:
- 开发工具,帮助开发人员处理图表。
- 探索工具,帮助分析师探索数据关系。
- 分析工具,用于揭示趋势和差异。
- 报告工具,用于创建和组织数据报告。
在下图中,我根据主要类别组织了一些最受欢迎的图形可视化工具。在纵轴上,我绘制了产品类型(Neo4j 产品、社区项目或企业软件)。
可视化工具格局的结构化视图。
请注意,有些工具介于两个类别之间,在这种情况下,该工具可以用于两种目的。现在我们有了一个高层次的概述,让我们深入了解一些最好的图形可视化工具。
1. Neo4j 浏览器(开发工具)
Neo4j浏览器可能是您在使用 Neo4j 时首先会遇到的东西。浏览器是数据库开发人员运行 Cypher 查询的工具,它允许您以图形或表格格式呈现查询结果。虽然可视化功能有限,但我每天都会使用它来快速设计和优化 Cypher 查询。
主要特征:
- 易于上手,但可视化和样式选择有限。
- 直接查看图形数据,但需要(技术)Cypher 知识。
- 非常适合快速查询开发,但不能保存/嵌入/共享可视化。
2. Neo4j Bloom(探索和分析工具)
Neo4j Bloom是一款用于交互式探索 Neo4j 图表的工具。Neo4j 浏览器主要由开发人员使用,而 Bloom 更适合数据分析师(那些想要动态可视化大图表的人)。Bloom 支持基于文本的搜索,允许对 Cypher 了解甚少的人研究 Neo4j 图表。
主要特征:
- “点击”图形探索。
- 具有自定义样式的大型图形的高性能视图。
- 使用可视化界面编辑您的 Neo4j 图表。
- 存储和共享图形视角。
- 渲染不同的图形布局。
3.Neovis.js(开发工具)
neovis.js是一个 JavaScript 库,可帮助开发人员根据 Neo4j 数据构建图形可视化。它封装了流行的Vis.js库,在 Cypher 和浏览器中的可自定义图形可视化之间架起了一座桥梁。
- JavaScript 库(基于 Vis.js)用于绘制 Neo4j 图形。
- 直接连接到 Neo4j 实例以获取实时数据。
- 根据标签、属性或社区的用户指定的样式属性。
- 为节点配置悬停/点击功能。
4.Popoto.js(开发工具)
(图片来源 - Popoto.js 示例)
popoto.js是另一个由社区驱动的 JS 库,用于创建可嵌入的可视化效果。popoto.js 基于广泛使用的 D3.js 库,支持大量可视化效果。它还包含一个用于 Neo4j 的交互式可自定义可视化查询构建器。网上有大量关于如何使用 popoto 以及如何使用自定义样式扩展它的示例。
主要特征:
- 具有直接 Neo4j 连接的交互式可视化 Cypher 查询构建器。
- 可嵌入网页,提供多种示例。
- 由广泛使用的 D3.js 可视化库提供支持。
- 通过扩展实现自定义样式。
5. KeyLines(开发工具)
(图片来源:剑桥情报)
KeyLines是一个企业库,用于用 JavaScript 构建图形可视化。与 neovis.js 和 popoto.js 相比,KeyLines 的功能列表(布局、样式、分组、过滤)要丰富得多,并且能够在大型图形上表现出色。KeyLines 是一款仅限企业的产品,为其他一些独立图形探索工具(如 GraphAware Hume)提供支持。
主要特征:
- 用于高级图形可视化的 JavaScript 库。
- 支持基于时间的分析、地理空间图形分析、社交网络分析。
- 支持地理(地图)可视化。
- 自定义图形布局(分组)和样式。
- 高性能 WebGL 渲染。
6.CytoScape(开发工具)
(图片来源:CytoScape)
CytoScape最初是为可视化生物网络而构建的工具,但最近已在各种网络分析用例中得到应用。该工具有两种版本:
- CytoScape Desktop(基于 Java 的独立可视化工具)
- CytoScape.js(用于图形可视化的开源 Javascript 库)
CytoScape.js 是迄今为止最广泛的用于可视化图形的开源库——支持图形布局、高级样式、事件处理等。
尽管 Neo4j 支持不是 CytoScape Desktop 的核心功能,但有几个插件可以直接从 Neo4j 数据库构建可视化效果。
主要特征:
- 高度优化的图形渲染。
- 使用布局自动或手动定位节点。
- 定制造型。
- 轻松嵌入到网络应用程序中。
- 开源,易于扩展自定义功能。
7. yWorks Neo4j Explorer(探索工具)
(图片来源-yWorks)
yWorks Neo4j Explorer是一款免费的基于 Web 的工具,用于探索 Neo4j 数据库。该工具由 yWorks(广泛使用的 yFiles JS 库背后的公司)构建,旨在展示 yWorks 框架对图形数据的功能。它由两个主要组件组成:
- “架构视图”用于查看 Neo4j 数据库中节点标签和关系类型的结构。
- 用于搜索和浏览图表的“资源管理器视图”。
对于那些希望通过简单直观的界面开始图形探索的人来说,yWorks 浏览器是一个很好的选择,但与(付费)企业产品相比,它的选项有限。
主要特征:
- 可视化并探索 Neo4j 数据库模式。
- 修改数据库模式——隐藏和显示模型的部分内容。
- 以不同的布局(有机、分层、径向)查看 Neo4j 模式。
- 基于基本图形的节点/关系属性搜索。
- 基于关系类型和节点标签的图形探索。
- 节点的样式和与颜色、形状和图像的关系。
您可以在此处的博客文章中找到更多详细信息 。
8. Linkurious Enterprise(探索和分析工具)
(图片来源:Linkurious)
Linkurious Enterprise是一款本地图形探索和分析工具。它是一款功能丰富的工具,旨在供数据分析师使用,通常用于调查用例,例如检测洗钱、网络威胁和其他犯罪活动。Linkurious 支持大量图形搜索和分析以及图形处理功能。
主要特征:
- 交互式图形探索。
- 针对常见用例的预定义工作流程。
- 基于图形的节点/关系属性搜索。
- 在团队中存储和共享图形视角。
- 动态图形编辑和渲染不同图形布局的能力。
9. GraphAware Hume(探索和分析工具)
(图片来源:GraphAware)
Hume是GraphAware 开发的图形探索和分析工具。它支持完整的“图形工作流程”——从构建知识图谱 (ETL) 到基于文本的搜索,以及数据科学应用程序。
从本质上讲,Hume 是一款功能强大的图形可视化工具。基于图形的搜索是 Hume 的主要功能,它创建了一个图形搜索和探索齐头并进的工作流程。Hume 允许定义自定义用户操作,让您为数据分析师创建量身定制的体验。Hume 用于各种业务领域,例如国家安全、营销、推荐引擎和知识引擎。
主要特征:
- 一个构建知识图谱的平台,重点关注 NLP。
- 交互式图形探索和搜索。
- 与 Neo4j 图形数据科学集成。
- 多种图形布局、自定义样式和节点分组。
- 可嵌入可视化为 iframe。
- 自定义探索行动。
- SSO 支持,重点关注 RBAC 和安全功能。
- 本机虚拟关系、观点和基于时间的过滤。
10.Kineviz GraphXR(分析工具)
(图片来源:Kineviz)
KineViz是一款企业级图形分析工具,能够以二维或三维方式呈现大型图形(>100,000 个元素)。KineViz 支持使用 Cypher 从 CSV、JSON 或 Neo4j 加载数据。其图形分析功能包括多种算法,包括路径查找和社区检测。有关 KineViz 所有功能的详细描述,请参阅KineViz 用户指南。
- 进行时间序列、地理空间和社交网络分析。
- 对大型复杂数据集执行统计分析。
- 在各种 3D 和 2D 布局中可视化 100,000 多个节点。
- 以多种格式协作、导出和报告数据。
11. Graphistry(分析工具)
Graphistry是一款图形分析工具,能够在浏览器中可视化大型图形。它是渲染大型图形的最佳工具之一,支持 100,000 到 1,000,000 个节点和关系的 GPU 渲染。可以直接从 Neo4j 将数据加载到 Graphistry,也可以通过开源Python 库加载。
主要特征:
- GPU 加速渲染大型图形可视化。
- 基于图的聚类、过滤和搜索。
- 定义可重复使用的图形分析工作流程。
- 在网站、仪表板和笔记本中嵌入可视化效果。
- 在组织内共享可视化效果。
12. 汤姆索亚的观点(分析和报告工具)
(图片来源:Tom Saywer Software)
Perspectives是一款独立的(基于 Java 和 .NET)企业级图形可视化工具。Perspectives 是一款图形可视化 SDK,附带一个用于构建应用程序的 GUI。它支持各种图形布局以及报告类型(地图、图表、时间线、表格等)。图形聚类和流量计算也可以直接从 Perspectives 界面执行。
主要特征:
- 用于构建图形可视化的独立工具包。
- 多种图形布局和样式选项。
- 集成图形算法进行分析。
- 灵活的基于图形的搜索和过滤。
使用 Perspectives 构建的工具之一是具有探索功能的自定义图形数据库浏览器。请 在此处查看。
13. Graphileon(报告工具)
(图片来源:Tom Zeppenfeldt,Graphileon)
Graphileon是一个仪表板开发环境,专为可视化图形数据而构建。它允许您使用来自 Neo4j 和各种其他图形数据库的数据轻松设计、构建和共享仪表板。Graphileon 提供了一组广泛的功能,可以用作原型设计工具、应用程序框架或呈现图形数据库内容的好方法。
主要特征:
- 使用网络、表格、表单、图表、地图、时间线、日历等报告 Neo4j 数据库。
- 通过函数和触发器组织仪表板中的交互。
- 使用不同的布局、图标、颜色和形状来设计您的可视化效果。
- 将可视化效果保存为图表或图像。
- 在其他应用程序中嵌入仪表板和图表。
- 团队内部仪表板的访问控制和共享。
Graphileon 有个人版(免费使用)和企业版,后者包含附加功能。
14. 图表(报告工具)
(图片来源:Adam Cowley,Neo4j)
Charts是 Neo4j 实验室的一个项目,旨在直接从 Neo4j 数据库生成图表。可以从 Neo4j Desktop 安装 Charts,也可以通过浏览器访问https://charts.graphapp.io 。使用 Cypher,您可以使用Nivo (一个用于 React 的数据可视化库)即时创建大量可视化效果。它还附带一个很棒的可视化 Neo4j 查询生成器,可帮助 Cypher 新手快速编写查询。
主要特征:
- 绘制图表并将其组织到仪表板中。
- 在 Neo4j Desktop 中保存并加载仪表板。
- 支持超过 20 种类型的可视化。
- 交互式 Cypher 查询生成器可用于编写查询来填充您的可视化效果。
请查看此文章了解有关图表的更多信息。
15.NeoDash(报告工具)
NeoDash是一款图形应用/Web 应用,可在几分钟内从 Neo4j 数据构建仪表板。它通过 Bolt 直接连接到 Neo4j,并从 Cypher 查询结果中填充报告。查询结果可以呈现为表格、图形、条形图等,用户可以交互地选择报告参数。通过覆盖查询参数可以使用基本样式选项。
主要特征:
- 用于构建仪表板的图形应用程序和 Web 应用程序。
- 将查询结果以自定义样式的表格、图形、条形图形式可视化。
- 以交互方式选择查询参数。
- 将可视化效果与 Markdown 文本混合,使用图形数据创建“动态文档”。
- 将仪表板加载并保存为 JSON。
进一步阅读
了解更多数据可视化故事。如果您正在使用 D3.js,则应该查看 Jan Zak 的一些文章。最后,我想提一下未列入名单的其他有趣工具:
- ReGraph—— 一个用于 React 的高性能图形可视化库。
- G6 — 另一个用于图形可视化的 JS 库。
- Graphlytic—— 一款用于协作图形探索和分析的网络应用程序。
- SemSpect—— 一种不同类型的可视化和探索工具。