3.7 KiB
3.7 KiB
id | title | required | 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