3.6 KiB
3.6 KiB
id, title, challengeType, videoUrl, localeTitle
| id | title | challengeType | videoUrl | localeTitle |
|---|---|---|---|---|
| 587d7fa8367417b2b2512bcd | Create a Bar for Each Data Point in the Set | 6 | Создайте панель для каждой точки данных в наборе |
Description
svg для представления строки. Здесь вы объедините все, что вы узнали до сих пор, о формах data() , enter() и SVG для создания и добавления прямоугольника для каждой точки dataset в dataset . Предыдущий вызов показал формат создания и добавления div для каждого элемента в dataset : d3.select ( "тело"). SelectAll ( "DIV")Есть несколько отличий, которые работают с
.data (набор данных)
.войти()
.append ( "DIV")
rect элементами вместо divs . rects должны быть добавлены к элементу svg , а не непосредственно к body . Кроме того, вам нужно указать D3, где разместить каждый rect в области svg . Размещение бар будет рассмотрено в следующей задаче. Instructions
data() , enter() и append() для создания и добавления rect для каждого элемента в dataset . Бары должны отображать все друг на друга, это будет исправлено в следующей задаче. Tests
tests:
- text: Ваш документ должен иметь 9 <code>rect</code> элементы.
testString: 'assert($("rect").length == 9, "Your document should have 9 <code>rect</code> elements.");'
- text: Ваш код должен использовать метод <code>data()</code> .
testString: 'assert(code.match(/\.data/g), "Your code should use the <code>data()</code> method.");'
- text: Ваш код должен использовать метод <code>enter()</code> .
testString: 'assert(code.match(/\.enter/g), "Your code should use the <code>enter()</code> method.");'
- text: Ваш код должен использовать метод <code>append()</code> .
testString: 'assert(code.match(/\.append/g), "Your code should use the <code>append()</code> method.");'
Challenge Seed
<body>
<script>
const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];
const w = 500;
const h = 100;
const svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
svg.selectAll("rect")
// Add your code below this line
// Add your code above this line
.attr("x", 0)
.attr("y", 0)
.attr("width", 25)
.attr("height", 100);
</script>
</body>
Solution
// solution required