【发布时间】:2014-08-05 06:17:22
【问题描述】:
您好,我刚刚开始使用 d3 作为数据可视化工具,我正在学习本教程:http://bost.ocks.org/mike/bar/
但是,我的代码:
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.chart rect {
fill: steelblue;
}
.chart text {
fill: white;
font: 10px sans-serif;
text-anchor: end;
}
</style>
<svg class="chart"></svg>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var width = 420,
barHeight = 20;
var x = d3.scale.linear()
.range([0, width]);
var chart = d3.select(".chart")
.attr("width", width);
d3.tsv("data.tsv", type, function(error, data) {
x.domain([0, d3.max(data, function(d) { return d.value; })]);
chart.attr("height", barHeight * data.length);
var bar = chart.selectAll("g")
.data(data)
.enter().append("g")
.attr("transform", function(d, i) { return "translate(0," + i * barHeight + ")"; });
bar.append("rect")
.attr("width", function(d) { return x(d.value); })
.attr("height", barHeight - 1);
bar.append("text")
.attr("x", function(d) { return x(d.value) - 3; })
.attr("y", barHeight / 2)
.attr("dy", ".35em")
.text(function(d) { return d.value; });
});
function type(d) {
d.value = +d.value; // coerce to number
return d;
}
</script>
与硬编码的 html 相比,教程说使用 d3.tsv 不起作用。任何人都可以对此有所了解吗?我已经将data.tsv 文件放在了同一个文件夹中。
这是我的 .tsv 文件:
name value
Locke 4
Reyes 8
Ford 15
Jarrah 16
Shephard 23
Kwon 42
【问题讨论】:
-
您的 .tsv 格式是否正确?
-
嗨@Tom 我附上了我的 .tsv 文件。它是直接从教程..
-
您是否在服务器中打开该 html 文件?
-
我已经复制了你的代码。它在这里也不起作用,显示与 NaN 相关的错误。但只是重新排列 tsv 文件。在名称和值之间按制表符,它工作正常>保持空间清晰
-
@Tom 是的,我使用了 http 服务器。
标签: javascript d3.js