【问题标题】:(Vis.js Network) Load nodes from database(Vis.js 网络)从数据库加载节点
【发布时间】:2019-11-29 05:27:47
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: json dot vis.js gephi visnetwork


    【解决方案1】:

    Vis Network需要的格式可以使用const object = JSON.parse(string);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 与我的机器相比有多快或多慢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      相关资源
      最近更新 更多