Files
freeCodeCamp/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/add-labels-to-scatter-plot-circles.md

130 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 587d7fab367417b2b2512bd9
title: 向散点图的 Circles 添加标签
challengeType: 6
forumTopicId: 301477
---
# --description--
你可以添加文本为散点图中的点创建标签。
目标是显示以逗号分隔的值,分别为 `dataset` 中每个对象的第一个(`x`)和第二个(`y`)字段
`text` 节点需要 `x``y` 属性来指定放置在 SVG 画布中的位置。在这个挑战中,`y` 值(决定高度)可以用和 `circle``cy` 属性相同的值,`x` 值可以比 `circle``cx` 值稍微大一些,这样标签才是可见的并且被放置在散点的右边。
# --instructions--
`text` 元素为散点图中的每个点创建标签。标签的文本应该为用一个逗号和一个空格分隔开的两个值,例如,第一个点的标签为 "34, 78"。设置 `x` 属性比 `circle``cx` 属性大 5 个单位,设置 `y` 属性和 `circle``cy` 属性相同。
# --hints--
你应该有 10 个 `text` 元素。
```js
assert($('text').length == 10);
```
第一个标签的文本应该为 '34, 78' `x` 值应该为 39 `y` 应该为 422。
```js
assert(
$('text').eq(0).text() == '34, 78' &&
$('text').eq(0).attr('x') == '39' &&
$('text').eq(0).attr('y') == '422'
);
```
第二个标签的文本应该为 '109, 280' `x` 值应该为 114 `y` 应该为 220。
```js
assert(
$('text').eq(1).text() == '109, 280' &&
$('text').eq(1).attr('x') == '114' &&
$('text').eq(1).attr('y') == '220'
);
```
第三个标签的文本应该为 '310, 120' `x` 值应该为 315 `y` 应该为 380。
```js
assert(
$('text').eq(2).text() == '310, 120' &&
$('text').eq(2).attr('x') == '315' &&
$('text').eq(2).attr('y') == '380'
);
```
第四个标签的文本应该为 '79, 411' `x` 值应该为 84 `y` 应该为 89。
```js
assert(
$('text').eq(3).text() == '79, 411' &&
$('text').eq(3).attr('x') == '84' &&
$('text').eq(3).attr('y') == '89'
);
```
第五个标签的文本应该为 '420, 220' `x` 值应该为 425 `y` 应该为 280。
```js
assert(
$('text').eq(4).text() == '420, 220' &&
$('text').eq(4).attr('x') == '425' &&
$('text').eq(4).attr('y') == '280'
);
```
第六个标签的文本应该为 '233, 145' `x` 值应该为 238 `y` 应该为 355。
```js
assert(
$('text').eq(5).text() == '233, 145' &&
$('text').eq(5).attr('x') == '238' &&
$('text').eq(5).attr('y') == '355'
);
```
第七个标签的文本应该为 '333, 96' `x` 值应该为 338 `y` 应该为 404。
```js
assert(
$('text').eq(6).text() == '333, 96' &&
$('text').eq(6).attr('x') == '338' &&
$('text').eq(6).attr('y') == '404'
);
```
第八个标签的文本应该为 '222, 333' `x` 值应该为 227 `y` 应该为 167。
```js
assert(
$('text').eq(7).text() == '222, 333' &&
$('text').eq(7).attr('x') == '227' &&
$('text').eq(7).attr('y') == '167'
);
```
第九个标签的文本应该为 '78, 320' `x` 值应该为 83 `y` 应该为 180。
```js
assert(
$('text').eq(8).text() == '78, 320' &&
$('text').eq(8).attr('x') == '83' &&
$('text').eq(8).attr('y') == '180'
);
```
第十个标签的文本应该为 '21, 123' `x` 值应该为 26 `y` 应该为 377。
```js
assert(
$('text').eq(9).text() == '21, 123' &&
$('text').eq(9).attr('x') == '26' &&
$('text').eq(9).attr('y') == '377'
);
```
# --solutions--