gpt4 book ai didi

javascript - D3js .csv 数据未加载到变量和属性中

转载 作者:太空宇宙 更新时间:2023-11-04 16:27:53 25 4
gpt4 key购买 nike

我正在尝试使用 d3js 绘制一个简单的条形图。这是我的javascript图表代码:

var width = 420,
barHeight = 20;

var x = d3.scaleLinear()
.range([0, width]);

var chart = d3.select(".chart")
.attr("width", width);

d3.tsv("../data/high-court-decisions.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;
}

保存数据的 .tsv 格式如下:

year    decisions
2015 53
2014 52

该脚本通过以下方式在页面上调用:<script src="../js/hca-bar-chart.js"></script>

我正在使用 d3js v4 min 文件,也通过以下方式调用:<script src="https://d3js.org/d3.v4.min.js"></script> .

加载到矩形“宽度”属性中的数据显然存在问题。页面加载后即可看到:

<svg class="chart" width="420" height="200">
<g transform="translate(0,0)">
<rect width="NaN" height="19"></rect>
<text x="NaN" y="10" dy=".35em">NaN</text>
</g>

以及以下控制台错误:Error: <rect> attribute width: Expected length, "NaN".

渴望获得使条形图发挥作用的所有建议。谢谢!

最佳答案

您的数据中没有 value header 。因此,更改您的访问器函数:

 function type(d) {
d.value = +d.decisions;
return d;
}

或者,更改您的数据:

year    value
2015 53
2014 52

关于javascript - D3js .csv 数据未加载到变量和属性中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40078672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com