3.0 KiB
3.0 KiB
id | title | required | challengeType | videoUrl | localeTitle | |||
---|---|---|---|---|---|---|---|---|
587d7fa8367417b2b2512bcd | Create a Bar for Each Data Point in the Set |
|
6 | Crie uma barra para cada ponto de dados no conjunto |
Description
svg
para representar uma barra. Aqui, você combinará o que aprendeu até agora sobre formas data()
, enter()
e SVG para criar e anexar um retângulo para cada ponto de dados no dataset
. Um desafio anterior mostrou o formato de como criar e anexar um div
para cada item no dataset
: d3.select ("body"). selectAll ("div")Existem algumas diferenças trabalhando com elementos
.data (conjunto de dados)
.entrar()
.append ("div")
rect
vez de divs
. Os rects
devem ser anexados a um elemento svg
, não diretamente ao body
. Além disso, você precisa dizer ao D3 onde colocar cada rect
dentro da área svg
. O posicionamento da barra será coberto no próximo desafio. Instructions
data()
, enter()
e append()
para criar e anexar um rect
para cada item no dataset
. As barras devem exibir todas em cima umas das outras, isso será corrigido no próximo desafio. Tests
tests:
- text: Seu documento deve ter 9 elementos <code>rect</code> .
testString: 'assert($("rect").length == 9, "Your document should have 9 <code>rect</code> elements.");'
- text: Seu código deve usar o método <code>data()</code> .
testString: 'assert(code.match(/\.data/g), "Your code should use the <code>data()</code> method.");'
- text: Seu código deve usar o método <code>enter()</code> .
testString: 'assert(code.match(/\.enter/g), "Your code should use the <code>enter()</code> method.");'
- text: Seu código deve usar o método <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