--- id: 587d7fab367417b2b2512bd9 title: Add Labels to Scatter Plot Circles required: - src: 'https://cdnjs.cloudflare.com/ajax/libs/d3/4.3.0/d3.min.js' challengeType: 6 --- ## Description
You can add text to create labels for the points in a scatter plot. The goal is to display the comma-separated values for the first (x) and second (y) fields of each item in dataset. The text nodes need x and y attributes to position it on the SVG canvas. In this challenge, the y value (which determines height) can use the same value that the circle uses for its cy attribute. The x value can be slightly larger than the cx value of the circle, so the label is visible. This will push the label to the right of the plotted point.
## Instructions
Label each point on the scatter plot using the text elements. The text of the label should be the two values separated by a comma and a space. For example, the label for the first point is "34, 78". Set the x attribute so it's 5 units more than the value you used for the cx attribute on the circle. Set the y attribute the same way that's used for the cy value on the circle.
## Tests
```yml tests: - text: Your code should have 10 text elements. testString: 'assert($("text").length == 10, "Your code should have 10 text elements.");' - text: 'The first label should have text of "34, 78", an x value of 39, and a y value of 422.' testString: 'assert($("text").eq(0).text() == "34, 78" && $("text").eq(0).attr("x") == "39" && $("text").eq(0).attr("y") == "422", "The first label should have text of "34, 78", an x value of 39, and a y value of 422.");' - text: 'The second label should have text of "109, 280", an x value of 114, and a y value of 220.' testString: 'assert($("text").eq(1).text() == "109, 280" && $("text").eq(1).attr("x") == "114" && $("text").eq(1).attr("y") == "220", "The second label should have text of "109, 280", an x value of 114, and a y value of 220.");' - text: 'The third label should have text of "310, 120", an x value of 315, and a y value of 380.' testString: 'assert($("text").eq(2).text() == "310, 120" && $("text").eq(2).attr("x") == "315" && $("text").eq(2).attr("y") == "380", "The third label should have text of "310, 120", an x value of 315, and a y value of 380.");' - text: 'The fourth label should have text of "79, 411", an x value of 84, and a y value of 89.' testString: 'assert($("text").eq(3).text() == "79, 411" && $("text").eq(3).attr("x") == "84" && $("text").eq(3).attr("y") == "89", "The fourth label should have text of "79, 411", an x value of 84, and a y value of 89.");' - text: 'The fifth label should have text of "420, 220", an x value of 425, and a y value of 280.' testString: 'assert($("text").eq(4).text() == "420, 220" && $("text").eq(4).attr("x") == "425" && $("text").eq(4).attr("y") == "280", "The fifth label should have text of "420, 220", an x value of 425, and a y value of 280.");' - text: 'The sixth label should have text of "233, 145", an x value of 238, and a y value of 355.' testString: 'assert($("text").eq(5).text() == "233, 145" && $("text").eq(5).attr("x") == "238" && $("text").eq(5).attr("y") == "355", "The sixth label should have text of "233, 145", an x value of 238, and a y value of 355.");' - text: 'The seventh label should have text of "333, 96", an x value of 338, and a y value of 404.' testString: 'assert($("text").eq(6).text() == "333, 96" && $("text").eq(6).attr("x") == "338" && $("text").eq(6).attr("y") == "404", "The seventh label should have text of "333, 96", an x value of 338, and a y value of 404.");' - text: 'The eighth label should have text of "222, 333", an x value of 227, and a y value of 167.' testString: 'assert($("text").eq(7).text() == "222, 333" && $("text").eq(7).attr("x") == "227" && $("text").eq(7).attr("y") == "167", "The eighth label should have text of "222, 333", an x value of 227, and a y value of 167.");' - text: 'The ninth label should have text of "78, 320", an x value of 83, and a y value of 180.' testString: 'assert($("text").eq(8).text() == "78, 320" && $("text").eq(8).attr("x") == "83" && $("text").eq(8).attr("y") == "180", "The ninth label should have text of "78, 320", an x value of 83, and a y value of 180.");' - text: 'The tenth label should have text of "21, 123", an x value of 26, and a y value of 377.' testString: 'assert($("text").eq(9).text() == "21, 123" && $("text").eq(9).attr("x") == "26" && $("text").eq(9).attr("y") == "377", "The tenth label should have text of "21, 123", an x value of 26, and a y value of 377.");' ```
## Challenge Seed
```html ```
## Solution
```js // solution required ```