Hints+Solution for D3 Display Shapes Challenge (#29513)

* Hints+Solution for  D3 Display Shapes Challenge

* fix: removed stub info
pull/36261/head
James Hogan 2019-06-11 17:48:33 +01:00 committed by Randell Dawson
parent 65bccdb9bd
commit dda4797118
1 changed files with 33 additions and 3 deletions

View File

@ -3,8 +3,38 @@ title: Display Shapes with SVG
---
## Display Shapes with SVG
This is a stub. <a href='https://github.com/freecodecamp/guides/tree/master/src/pages/certifications/data-visualization/data-visualization-with-d3/display-shapes-with-svg/index.md' target='_blank' rel='nofollow'>Help our community expand it</a>.
This challenge can be approached in a similar fashion to the previous one; with the difference being that, this time, you must add a specified shape **within** the appended SVG node. SVG supports several shape definitions, but in this instance, we will use **rect**.
<a href='https://github.com/freecodecamp/guides/blob/master/README.md' target='_blank' rel='nofollow'>This quick style guide will help ensure your pull request gets accepted</a>.
## Hint 1
<!-- The article goes here, in GitHub-flavored Markdown. Feel free to add YouTube videos, images, and CodePen/JSBin embeds -->
Check that you have appended the **rect** using D3's 'append()' method. (Be sure to enclose **rect** in quotation marks).
## Hint 2
Now assign attributes to the shape using D3's '.attr()' method. You can chain multiple uses of this method. Remember when assigning x and y co-ordinates that within the SVG area, point (0,0) occurs on the top-**left**. As such, while x values dictate how far right an element moves, y values will dictate how far **downward** it moves from the origin point.
## Solution (!!Spoiler Alert!!)
```
<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)
// Add your code below this line
.append("rect")
.attr("width", 25)
.attr("height",100)
.attr("x",0)
.attr("y",0);
// Add your code above this line
</script>
</body>
```