javascript - 使用 JSON 文件进行气泡可视化

标签 javascript json d3.js

我是 D3 的新手。

我想直观地看到气泡中测试的简单结果,例如姓名:数学,已完成测试:340,姓名:拉丁语,已完成测试:550。

当我查看 https://bl.ocks.org/mbostock/4063269 上的示例时,我可以看到只加载了一个 CSV 文件。

根据文档,也可以加载 JSON 文件,但我没有找到 JSON 文件的正确“语义”。

JSON 文件应该是什么样子以及如何在 index.html 的 JavaScript 部分中调用它?

注意:我想使用 4.0 版本。这有关系吗?

最佳答案

您的问题与 JSON 文件的正确结构无关,因为不存在正确的结构:这取决于代码。

您的问题是,鉴于您链接的特定代码,如何将 CSV 更改为 JSON。

要回答这个问题,您必须了解 d3.csv 如何创建对象数组。在您链接的 Bostock 代码中,该数组中的每个对象都有一个 id 和一个 value 键/值对。

因此,您的 JSON 需要具有如下结构:

[{
    "id": "flare.analytics.cluster.AgglomerativeCluster",
    "value": 1938
}, {
    "id": "flare.analytics.cluster.CommunityStructure",
    "value": 3812
}, {
    "id": "flare.analytics.cluster.HierarchicalCluster",
    "value": 2714
}, {
    "id": "flare.analytics.cluster.MergeEdge",
    "value": 1743
}]

由于您正在创建自己的 JSON,因此无需担心行函数,该函数会删除没有 value 的对象并将其值强制转换为数字。

这是使用 JSON 文件更新的 bl.ocks(仅包含一些对象):https://bl.ocks.org/anonymous/4ca57ea4393a37bc92091325eba295dd

请记住,如果您使用问题中描述的数据结构......

[{"Name": "mathematics", "completed-tests": 340}, etc...]

...您必须在 d3.hierarchynode 选择中对 Bostock 的代码进行多项更改。

关于javascript - 使用 JSON 文件进行气泡可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44608562/

相关文章:

json - PostgreSQL - 将行转换为 JSON 键/值对

json - 使用 VBA 函数从 API 调用中提取结果

d3.js - 使用 d3 v4 创建无限的水平轴

java - 将 csv 文件转换为flare.json 时出现问题

javascript - 如何在单击按钮时从全日历中删除事件?

javascript - 从 jquery 插件打印选定的选项

javascript - AngularJS Controller 重新加载

javascript - 从 JSON 获取信息

javascript - Chrome 77 无法监听 'popstate' 事件?

javascript - 鼠标悬停在节点文本下划线