0

我很难理解如何使用 vis.js 网络来动态生成大量数据。从我在文档中阅读的内容来看,只有两种简单的方法可以导入数据:从 gephi 或点语言;正确的?是不是有点限制?

我对 gephi 或点语言一无所知,所以我决定使用我习惯使用的 mysql 数据库。所以我用 php 查询我的数据,并生成 javascript 来构建网络的节点和边缘。

但是到目前为止,我只有大约 200 个节点和边(这就像我最终将拥有的数据的 1/5)并且加载速度已经非常慢,似乎需要大量资源才能显示网络(当我打开网络页面时,我的 MacBook Pro 变得非常响亮),而 vis.js 应该是快速和轻量级的。

那是因为所有节点和边都“写入”在页面的代码中吗?还是我使用php查询mysql数据的事实?

我不拒绝使用 json 文件或点语言的想法,我只是不知道该怎么做……但如果它能让我有更好的表现,我想学习如何去做。谁能详细解释它是如何工作的?并且使用这些方法中的任何一种,我可以根据我需要显示的数据获得节点和边缘的不同大小和颜色(现在我在从数据库中查询数据后在 php 中执行此操作)?

4

1 回答 1

1

const object = JSON.parse(string);Vis Network 所需的格式可以使用和进行序列化和反序列化const string = JSON.stringify(object);。无需使用 Gephi 或 DOT 来简单地将数据存储在数据库中。

节点具有size改变大小的属性,节点和边都color必须改变颜色。边也可以从连接的节点继承颜色。有关更多详细信息,请参阅https://visjs.github.io/vis-network/docs/network/nodes.html上的节点文档和https://visjs.github.io/vis-network/docs/network上的边/edges.html

关于性能,如果没有一些示例代码和数据可供使用,我无法告诉你太多。我尝试将超过 200 个节点放入使用 Vis Network 构建的https://thomaash.github.io/me/#/canvas 。正如我预期的那样,它会立即加载并且运行良好,但我不知道 MacBook Pro 与我的机器相比有多快或多慢。

于 2019-11-28T21:27:47.100 回答