Javascript 轴未显示在D3中

Javascript 轴未显示在D3中,javascript,d3.js,Javascript,D3.js,我正在d3中创建一个条形图,似乎javascript的执行在创建轴时被挂起,因此没有轴显示,并且在创建轴后控制台日志不起作用。这是我的密码: req.onload=function() { const dataset = json.data; const w = 880; const h = 440; const yScale = d3.scaleLinear(); yScale.domain([0,d3.max(dataset, (d) => d[

我正在d3中创建一个条形图,似乎javascript的执行在创建轴时被挂起,因此没有轴显示,并且在创建轴后控制台日志不起作用。这是我的密码:

req.onload=function() {
    const dataset = json.data;
    const w = 880;
    const h = 440;
    const yScale = d3.scaleLinear();
    yScale.domain([0,d3.max(dataset, (d) => d[1])]);
    yScale.range([10,h]) // axis will start at 10

    const svg = d3.select('body')
                  .append("svg")
                  .attr("width", w)
                  .attr("height", h);

    svg.selectAll("rect")
        .select("body")
        .data(dataset)
        .enter()
        .append("rect")
        .attr("x", (d, i) => {
          return i * 3.2;
        })
        .attr("y", (d) => {
          return (h - yScale(d[1]));
        })
        .attr("width", 3.2 * .95)
        .attr("height", (d, i) => {
          return (yScale(d[1]));
        })
        .attr("class", "bar")
        .append("title")
        .text((d) => {
          return d[0];
        })

    console.log('one') // logs

    const xAxis = d3.axisBottom(xScale);  // PROBLEM 
    console.log('two')  // won't log
    svg.append("g")
        .attr("transform", "translate(0," + (h) + ")")
        .call(xAxis);

    console.log('three') // won't log

    const yAxis = d3.axisLeft(yScale);
    svg.append("g")
        .attr("transform", "translate(100,50)")
        .call(yAxis);

    console.log('four'); // won't log
  };
  console.log('this will log')
});

调用axisBottom似乎是个问题,但我不知道为什么。d3文档不是很详细,但它说函数是d3。axisBottomscale确实是一个愚蠢的错误。未定义xAxis。我是在codepen中开发的,因此没有看到控制台错误消息。决定创建一个文件并在chrome中打开它,并在一秒钟内解决。这里的教训是避免使用代码笔进行调试