title: d3 line generator returning null rather than path data string
body: <p>I'm using d3 v4 to create a line graph. My pathGenerator, using d3's line() method, is returning null instead of a path data string (eg "M 100 100 L 300 100 L 200 300 z"), and therefore no lines are being drawn.</p>
  
  <p>When I add in console.log()s to try to determine where the issue occurs, the passed in datum appears correctly as an object with percentLoad and efficiency keys with valid numbers as their values. Console.log()s within the .x() and .y() methods do not seem to be invoked, but I'm not sure why this would be. </p>
  
  <pre><code>const xScale = d3.scaleLinear()
      .domain([10, 100])
      .range([0, chartAreaWidth])
  
  const yScale = d3.scaleLinear()
      .domain([0, 2])
      .range([chartAreaHeight, 0])
  
  const pathGenerator = d3.line()
      .x(d =&gt; xScale(d.percentLoad))
      .y(d =&gt; yScale(d.efficiency))
      .curve(d3.curveCardinal);
  
  const binGroups = chartGroup.selectAll('.binGroups')
      .data(data.bins)
      .enter().append('g')
      .attr('class', (d,i) =&gt; 'binGroups binGroup' + i)
  
  binGroups.selectAll('.percentLoads')
      .data(d =&gt; d)
      .enter().append('path')
      .attr('class', (d,i) =&gt; 'percentLoads percentLoad' + i)
      .attr('d', d =&gt; pathGenerator(d))
  
  </code></pre>