D3 折线图路径出错
Error with D3 line graph path
盯着这段代码太久了,无法弄清楚为什么我会为日期部分或路径获取 NaN 值。我对 D3 仍然很陌生,但这看起来像我找到的示例以及我为这种类型的图形提供的其他一些类似的工作代码,所以我有点困惑。
本质上,导致问题的部分是返回 NaN 值的 x() 函数。
除了使用本机 JS Date 函数外,我还尝试让 D3 解析日期,但得到同样的错误。
我在这里为此做了一个测试用例:http://tributary.io/inlet/fe23c00c6e3ed6d4b0de和代码笔,如果这更容易http://codepen.io/jamieholliday/pen/ogaLRg?editors=101
var svg = d3.select("svg");
var data = [{
"date" : "2015-03-06",
"score" : 30
}, {
"date" : "2015-02-06",
"score" : 22
}, {
"date" : "2015-01-06",
"score" : 43
}, {
"date" : "2014-12-06",
"score" : 10
}, {
"date" : "2014-11-06",
"score" : 38
}, {
"date" : "2015-02-20",
"score" : 30
}, {
"date" : "2015-03-05",
"score" : 44
}, {
"date" : "2015-03-11",
"score" : 37
} ];
var x = d3.time.scale()
.domain(d3.extent(data, function(d) { return new Date(d.date);}))
.range(0, 500);
var y = d3.scale.linear()
.domain([0, d3.max(data, function(d) {return d.score;})])
.range([500, 0]);
var line = d3.svg.line()
.x(function(d) {
return x(new Date(d.date));
})
.y(function(d) {
return y(d.score);
});
svg.append('path')
.attr('d', line(data))
您只需要确保使用数组来指定x
比例的range
:
.range([0, 500]);
而不是
.range(0, 500);
容易犯的错误!在这里摆弄:http://jsfiddle.net/henbox/os7xtkLk/。您还需要在绘制之前对日期进行排序
相关文章:
- javascript中的数组出错
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Javascript:使用绝对路径设置img src
- 如何在d3.js中返回路径的y坐标
- 复制图像路径以单击它
- 从模块内部访问Express装载路径
- JS文件的路径正在消失
- 使用onclick绘制SVG路径
- 在Meteor项目中安装并包含npm模块后出错
- jpm的默认Firefox路径没有'不起作用
- 解析JSON并从中删除对象会出错
- 如何使用jquery将base64图像路径转换为真实路径
- AngularJS指令出错-无法读取属性'编译'的未定义
- 可以用'吗/'在相对路径中
- 使用javascript在MVC中查找网格长度时出错
- D3 折线图路径出错
- 绘制 SVG 拉斐尔路径会出错并且不接受变量
- 将 raphaeljs 导出为路径背景作为图像的 jpg 时出错
- 提供svg v1路径参数d时出错
- 将绝对路径转换为相对路径时出错