我想从iris.CSV
获取负载数据并将其绘制在网页中。错误:未捕获TypeError:无法读取undefined属性'线性'
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3 Example</title>
<script src="https://d3js.org/d3.v3.js"></script>
</script>
</head>
<body>
<script>
var svg = d3.select("body").append("svg")
.attr("width", 250)
.attr("height", 250);
var xScale = d3.scale.linear().range([0, 250]);
var yScale = d3.scale.linear().range([0, 250]);
function render(data) {
xScale.domain(d3.extent(data, function(d) {
return d.sepal_length;
}));
yScale.domain(d3.extent(data, function(d) {
return d.petal_length;
}));
var circles = svg.selectAll("circle").data(data);
circles.enter().append("circle").attr("r", 10);
circles
.attr("cx", function(d) {
return xScale(d.sepal_length);
})
.attr("cy", function(d) {
return yScale(d.petal_length);
});
circles.exit().remove();
}
function type(d) {
d.sepal_length = +d.sepal_length;
d.sepal_width = +d.sepal_width;
d.petal_length = +d.petal_length;
d.petal_width = +d.petal_width;
return d;
}
d3.csv("iris.csv", type, render);
</script>
</body>
</html>
但是我收到一个错误。
Error: Uncaught TypeError: Cannot read property 'linear' of undefined
我甚至改变linear
为scaleLinear
为d3.v4,其也示出了错误。
除了单''标签在'代码看起来不错。由于规模声明之前的'd3.select()'似乎有效,所以这不应该是你问题的原因。请设置一个[mcve]来展示效果。当这样做时,请尽可能减少并清理代码 – altocumulus
即使我得到“只有协议方案支持跨源请求:HTTP,数据,chrome,chrome扩展名,https”错误。 –