javascript - 使用自己的数据运行 D3.js 示例不起作用
问题描述
我想从 D3.js 库构建以下图表:
https://observablehq.com/@pydanny/bjj-standing-flow-1
现在我想从我的数据库中获取图形的数据并将其放入 JSON 文件中(我这样做了)。JSON 文件的内容应传递给图表。这是将数据传递给图形的原始代码:
main.variable(observer()).define(["dot"], function(dot){
return (
dot` digraph G {
node [shape=box];
Mount [color = red] SideMount [color = red] Gaurd [color = red] NorthSouth [color = red] Standing [color = red];
Standing -> SnapDown;
SnapDown -> OsotoGeri [style=dashed];
SnapDown -> SideClinch [style=dashed];
}`
)
});
我已将其更改(从 json 文件传递数据)如下:
main.variable(observer()).define(["dot"], function(dot){
return (d3.json("data.json").then(function (data){
var result = data;
var arrayLength = result.edges.length;
var resultDataString = dot + "digraph G{ \n";
resultDataString = resultDataString + "node [shape=box] \n";
resultDataString = resultDataString + "Mount [color = red] SideMount [color = red] Gaurd [color = red] NorthSouth [color = red] Standing [color = red]; \n";
for (var i = 0; i < arrayLength; i++) {
var arr = result.edges[i];
resultDataString = resultDataString + " " + arr[0] + " -> " + arr[1] + " ;\n ";
}
resultDataString = resultDataString + " }";
return resultDataString;
})
)
});
JSON文件的内容:
{
"edges": [
[
"Burpee With Push Up",
"Push Up"
],
[
"Burpee With Push Up",
"Squat Jump"
],
[
"Squat Jump",
"Squat"
],
[
"Squat Jump",
"Two Footed Jump"
],
[
"Two Footed Jump",
"Stand"
],
[
"Push Up",
"Plank"
],
[
"Plank",
"Lay"
]
]
}
我阅读了 JSON 文件的内容,将其转换为给定的格式并返回。但我没有得到图表,只有这个:
谁能告诉我我的错误是什么?
解决方案
推荐阅读
- sql-server - 是否可以根据 SQL 数据库中的数据在 SSRS Report 中创建重复表?
- javascript - Vue.js 使用外部对象计算函数
- reactjs - 嵌套 React 组件中的路由
- c# - 命令栏 Myreport excel 不可见
- ios - Google Maps Flutter 自定义标记未显示
- python - 提取列表中与字符串匹配的所有元素
- highcharts - highcharts 多标记悬停颜色不继承自标记颜色
- python - RobotFramework 中的长寿对象
- html - 如何使“文本框”响应不同长度的文本
- excel - VBA WordDoc 表的第二次运行添加未设置变量