--- id: 587d7faa367417b2b2512bd2 title: Add Labels to D3 Elements required: - src: 'https://cdnjs.cloudflare.com/ajax/libs/d3/4.3.0/d3.min.js' challengeType: 6 videoUrl: '' localeTitle: Добавить ярлыки в элементы D3 --- ## Description
D3 позволяет вам наметить элемент графа, например панель, используя text элемент SVG. Подобно элементу rect , text элемент должен иметь атрибуты x и y , чтобы поместить его на холст SVG. Он также должен получить доступ к данным для отображения этих значений. D3 дает вам высокий уровень контроля над тем, как вы назовете свои бары.
## Instructions
Код в редакторе уже привязывает данные к каждому новому text элементу. Сначала добавьте text узлы в svg . Затем добавьте атрибуты для координат x и y . Они должны быть рассчитаны так же, как и rect , за исключением того, что значение y для text должно помещать ярлык на 3 единицы выше, чем планка. Наконец, используйте метод D3 text() чтобы установить метку равной значению точки данных. Заметка
Чтобы ярлык находился выше бара, решите, должно ли значение y для text быть на 3 больше или на 3 меньше значения y для панели.
## Tests
```yml tests: - text: Первый text элемент должен иметь метку 12 и значение y 61. testString: 'assert($("text").eq(0).text() == "12" && $("text").eq(0).attr("y") == "61", "The first text element should have a label of 12 and a y value of 61.");' - text: Второй text элемент должен иметь метку 31 и значение y 4. testString: 'assert($("text").eq(1).text() == "31" && $("text").eq(1).attr("y") == "4", "The second text element should have a label of 31 and a y value of 4.");' - text: Третий text элемент должен иметь метку 22 и значение y 31. testString: 'assert($("text").eq(2).text() == "22" && $("text").eq(2).attr("y") == "31", "The third text element should have a label of 22 and a y value of 31.");' - text: Четвертый text элемент должен иметь метку 17 и значение y 46. testString: 'assert($("text").eq(3).text() == "17" && $("text").eq(3).attr("y") == "46", "The fourth text element should have a label of 17 and a y value of 46.");' - text: Пятый text элемент должен иметь метку 25 и значение y 22. testString: 'assert($("text").eq(4).text() == "25" && $("text").eq(4).attr("y") == "22", "The fifth text element should have a label of 25 and a y value of 22.");' - text: Шестой text элемент должен иметь метку 18 и значение y 43. testString: 'assert($("text").eq(5).text() == "18" && $("text").eq(5).attr("y") == "43", "The sixth text element should have a label of 18 and a y value of 43.");' - text: Седьмой text элемент должен иметь метку 29 и значение y 10. testString: 'assert($("text").eq(6).text() == "29" && $("text").eq(6).attr("y") == "10", "The seventh text element should have a label of 29 and a y value of 10.");' - text: Восьмой text элемент должен иметь метку 14 и значение y 55. testString: 'assert($("text").eq(7).text() == "14" && $("text").eq(7).attr("y") == "55", "The eighth text element should have a label of 14 and a y value of 55.");' - text: Девятый text элемент должен иметь метку 9 и значение y 70. testString: 'assert($("text").eq(8).text() == "9" && $("text").eq(8).attr("y") == "70", "The ninth text element should have a label of 9 and a y value of 70.");' ```
## Challenge Seed
```html ```
## Solution
```js // solution required ```