Need help With D3: positioning label text

Tell us what’s happening:

If you try my code in the FCC editor, it displays properly. I just don’t quite understand why I can’t pass any of the tests. The tests want me to place the texts 3px higher than the bars and I think that’s what’s wrong.

Please help to suggest anything I’ve done wrong.

Your code so far

  const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];

  const w = 500;
  const h = 100;

  const svg ="body")
                .attr("width", w)
                .attr("height", h);

     .attr("x", (d, i) => i * 30)
     .attr("y", (d, i) => h - 3 * d)
     .attr("width", 25)
     .attr("height", (d, i) => 3 * d)
     .attr("fill", "navy");

     // Add your code below this line
.attr("x",(d, i) => i*30)
.attr("y",(d, i) => h - 3 * d)
.text((d) => d)

     // Add your code above this line

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36.

Challenge: Add Labels to D3 Elements

Link to the challenge:

text element. First, append text nodes to the svg
I can see you append it to the text but where is the svg?

They should be calculated the same way as the rect ones,
referser onto rect:

The tests want me to place the texts 3px higher than the bar:
except the y value for the text should make the label sit 3 units higher than the bar.
the test want u to do it only with the y value

Finally, use the D3 text() method to set the label equal to the data point value.
Where is the text()???
i can’t seem to find it

Thanks for helping, but I just figured it by adding another “-3” to the equation.