Files
Nicholas Carrigan (he/him) 3da4be21bb chore: seed chinese traditional (#42005)
Seeds the chinese traditional files manually so we can deploy to
staging.
2021-05-05 22:43:49 +05:30

54 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: bd7168d8c242eddfaeb5bd13
title: 用條形圖可視化數據
challengeType: 3
forumTopicId: 301464
dashedName: visualize-data-with-a-bar-chart
---
# --description--
**目標:** 在 [CodePen.io](https://codepen.io) 上實現一個功能類似 <https://codepen.io/freeCodeCamp/full/GrZVaM> 的 App。
在滿足以下[需求](https://en.wikipedia.org/wiki/User_story)並能通過所有測試的前提下, 你可以根據自己的喜好來美化你的 app。
你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 該任務需要使用 D3 的座標軸屬性生成座標軸,這個屬性會自動生成沿軸的刻度。 通過 D3 測試需要這些刻度,因爲它們的位置被用來確定繪製元素的對齊方式。 你可以在這裏 <https://github.com/d3/d3/blob/master/API.md#axes-d3-axis> 獲取關於生成座標軸的信息。 每次測試查詢的元素都必須是非虛擬 DOM。 如果你使用了前端框架(例如 Vue那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
**需求 #1** 圖表應該包含一個具有 `id="title"` 屬性的標題。
**需求 #2** 圖表應該包含一個 `g` 元素作爲 x 軸,並相應地具有 `id="x-axis"` 屬性。
**需求 #3** 圖表應該包含一個 `g` 元素作爲 y 軸,並相應地具有`id="y-axis"` 屬性。
**需求 #4** 兩個軸都應包含多個刻度標籤,每個標籤具有 `class="tick"` 屬性。
**需求 #5** 在圖表裏,每個數據點都應該有一個具有 `class="bar"` 屬性的 `rect` 元素來展示數據。
**需求 #6** 每個數據條應該具有值爲 `date``data-date` 屬性以及值爲 `GDP``data-gdp` 屬性。
**需求 #7** 數據條元素的 `data-date` 屬性應與提供的數據的順序相匹配。
**需求 #8** 數據條元素的 `data-gdp` 屬性應與提供的數據的順序相匹配。
**需求 #9** 每個數據條元素的高度應準確地表示其數據所對應的 `GDP` 值。
**需求 #10** `data-date` 屬性和它對應的數據條元素應與 x 軸上的相應的值對齊。
**需求 #11** `data-gdp` 屬性和它對應的數據條元素應與 y 軸上的相應的值對齊。
**需求 #12** 我可以將鼠標懸停在某個區域上,並查看具有 `id="tooltip"` 屬性的提示框,它會顯示有關該區域的更多信息。
**需求 #13** 提示框應該有 `data-date` 屬性,它對應了當前激活區域的 `data-date` 屬性。
以下是完成此項目所需的數據: `https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-data.json`
你可以<a href='https://codepen.io/pen?template=MJjpwO' target='_blank' rel='nofollow'>使用 CodePen 模板</a>來創建你的項目,點擊 `Save` 即可創建你的項目。 或者你可以在任何你喜歡的環境中使用以下 CDN 鏈接來運行測試:`https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js`.
當你完成了本項目,並且該項目所有測試運行通過,請提交項目的 URL。
# --solutions--
```js
// solution required
```