在 D3.js 中使用 data().enter().append() 后,只需使用d.valuename
. 但我想在 CSV 列中找到线性比例的最大值。由于比例之前没有任何数据调用,我真的不确定如何指定从中找到最大值的正确列。
这是我失败的尝试。我用什么代替d.column1
?
d3.csv("file.csv", function (data) {
var x = d3.scale.linear()
.domain([0, d3.max(d.column1)])
.range([0, 960]);
编辑:
好的,通过查看类似的示例,我进一步了解了。我不明白为什么我的代码现在不起作用。
d3.csv("file.csv", function (data) {
data.forEach(function(d) {
d.column1 = +d.column1;
});
var max = d3.max(data, function(d) { return d.column1; });
var x = d3.scale.linear()
.domain([0, max])
.range([0, 960]);
编辑#2:
如果问题源于数据本身,这里有一个片段。我尝试删除所有引号,并保留除顶行之外的所有引号,但没有任何效果。
"product", "price"
"bread",20
"meat",100
"meat, sausage",200
编辑#3:
好的,我保证,最后一次编辑。但要绝对清楚;我正在使用 x 比例来确定条形图中条形的宽度:.attr("width", x)
并且比例返回 NaN。