Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.js 解析y属性时出现意外值_D3.js - Fatal编程技术网

D3.js 解析y属性时出现意外值

D3.js 解析y属性时出现意外值,d3.js,D3.js,我在这里的某个地方发现了错误: d3.csv("Sales Export Friendly 2-14-2017.csv", function(data) { var sales = [] sales = data.map(function(d) { return [ +d["BookingID"], +d["Total Paid"] ]; }); var x = d3.scaleBand() .domain(sales.map(functio

我在这里的某个地方发现了错误:

d3.csv("Sales Export Friendly 2-14-2017.csv", function(data) {      
    var sales = []
    sales = data.map(function(d) { return [ +d["BookingID"], +d["Total Paid"] ]; });

    var x = d3.scaleBand()
        .domain(sales.map(function(sale){ return sale.bookingID; }))
        .range([0, width])
        .paddingInner([0.1])

    var y = d3.scaleLinear()
        .range([height, 0])
        .domain([0, d3.max(sales.map(function(sale){ return sale['Total Paid']; }))]);
我认为这与第一个映射有关,我认为它返回一个数字数组。

正如您所知,sales是一个数组数组,它不包含任何对象

尽管如此,它应该是:

x.domain(sales.map(function(sale){ return sale[0]; }));
//index of the element in the inner array------^
以及:

下面是一个使用这些伪造数据的演示:

bookingID,totalPaid
1,23
2,19
3,42
4,61
5,22
var data=d3.csvParsed3.selectcsv.text; var sales=data.mapfunctiond{return[+d.bookingID,+d.totalPaid];}; 变量x=d3.缩放带 .domainsales.mapfunctionsale{退货销售[0];}; 变量y=d3.scaleLinear .domain[0,d3.maxsales,functionsale{return sale[1];}]; console.logx缩放域:+x.domain; console.logic标度域:+y.domain; 前{ 显示:无; } 预订ID,全部已支付 1,23 2,19 3,42 4,61
5,22你能解释一下代码中的csvParse部分吗?当我尝试将d3.csv改为您编写的内容时,我发现xxxx.csv不是选择器。我确实设法进一步坚持了我的原始代码,但对x和y变量使用了sale[0]和sale[1]。然后它显示了轴的标签,但条形图没有显示,我得到了与y属性错误相同的意外值。忽略d3.csvParse,我使用它是因为我无法在堆栈片段中使用d3.csv。就像我说的那样改变域名。如果您在修复天平后仍有问题,则意味着您还有其他问题。在这种情况下,请用新问题发布另一个问题。
bookingID,totalPaid
1,23
2,19
3,42
4,61
5,22