3.0 KiB
3.0 KiB
id, title, challengeType, videoUrl, localeTitle
| id | title | challengeType | videoUrl | localeTitle |
|---|---|---|---|---|
| 587d7fa8367417b2b2512bcd | Create a Bar for Each Data Point in the Set | 6 | Crear una barra para cada punto de datos en el conjunto |
Description
svg para representar una barra. Aquí, combinará lo que ha aprendido hasta ahora acerca de las formas de data() , enter() y SVG para crear y anexar un rectángulo para cada punto de dataset en el dataset de dataset . Un desafío anterior mostró el formato de cómo crear y anexar un div para cada elemento en el dataset de dataset : d3.select ("body"). selectAll ("div")Hay algunas diferencias que trabajan con elementos
.data (conjunto de datos)
.entrar()
.append ("div")
rect lugar de divs . Los rects deben adjuntarse a un elemento svg , no directamente al body . Además, debe indicar a D3 dónde colocar cada rect dentro del área de svg . La colocación de la barra será cubierta en el próximo desafío. Instructions
data() , enter() y append() para crear y adjuntar un rect para cada elemento en el dataset de dataset . Las barras deben mostrar todas una encima de la otra, esto se solucionará en el próximo desafío. Tests
tests:
- text: Su documento debe tener 9 elementos <code>rect</code> .
testString: 'assert($("rect").length == 9, "Your document should have 9 <code>rect</code> elements.");'
- text: Su código debe utilizar el método <code>data()</code> .
testString: 'assert(code.match(/\.data/g), "Your code should use the <code>data()</code> method.");'
- text: Su código debe utilizar el método <code>enter()</code> .
testString: 'assert(code.match(/\.enter/g), "Your code should use the <code>enter()</code> method.");'
- text: Su código debe utilizar el 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