d3.js绘制线条转换错误
d3.js drawing a line transform error
我是d3.js的新手,我得到了一个ReferenceError: x is not defined
。
我只是想画一条分数线。
var points = svg.selectAll('.dots')
.data(data)
.enter()
.append("g")
.attr("class", "dots");
points.selectAll('.dot')
.data(function (d, index)
{
var a = [];
d.values.forEach(function (values, i)
{
a.push({'x': values.x, 'y': values.y});
});
return a;
})
.enter()
.append('circle')
.attr('class', 'dot')
.attr("r", 2.5)
.attr('fill', function (d, i)
{
return colors[i];
})
.attr("transform", function (d)
{
/* Line 268: Uncaught ReferenceError: x is not defined */
return "translate(" + x(d.x) + "," + y(d.y) + ")";
}
);
在很多互联网示例中,我看到x()和y()在绘制东西时被用于翻译/转换。我做错了什么?我甚至还有其他使用x()和y()的代码示例,它们不会抛出错误。我想不出其中的区别,也想不出我错过了什么。
d.x
实际上是一个日期,而d.y
是一个数字。
如果我将268行更改为:
/* Removing x() and y() fixes the error: */
/* d.index increments from 0 up; assume this exists */
return "translate(" + d.index + "," + d.y + ")";
我画了一个完美的点集合(实际上不是一条线,所以不是我需要的,但至少有数千个点出现,数据被正确读取)。
x
和y
:
var x = d3.time.scale()
.domain([
d3.min(activeData, function(d) { return d.x; }),
d3.max(activeData, function(d) { return d.x; })
])
.range([0, width]);
var y = d3.scale.linear()
.domain([
(d3.min(activeData, function(d) { return d.y; })),
d3.max(activeData, function(d) { return d.y; })
])
.range([height, 0]);
相关文章:
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- 用于查询错误转换的角度资源返回列表
- 灯箱中的幻灯片转换错误
- 从ASP转换后出现无效ViewState错误.NET 1.1到ASP.净额3.5
- CSS-3转换错误,菜单出现卡住
- 图像转换错误裁剪
- 注意:将数组从 php 转换为 javascript 时出现数组到字符串的转换错误
- Javascript CRM 转换错误
- javascript中的数字到字符串转换错误
- 转换错误:ArrayBuffer到Int16Array
- Mongoose强制转换错误-嵌入子文档
- 如何删除php中的数组到字符串转换错误
- firefox CSS转换错误
- 使用d3js时发生转换错误
- 这个类型转换错误与_id有什么关系?转换为objecd失败,值“123”;路径" id"'
- D3转换错误
- 显示id的转换错误,但id从未使用节点js
- Javascript将十六进制值转换错误
- d3.js绘制线条转换错误
- CSV到json转换错误