freeCodeCamp/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-c...

39 lines
4.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
id: bd7168d8c242eddfaeb5bd13
title: Visualize Data with a Bar Chart
isRequired: true
challengeType: 3
videoUrl: ''
localeTitle: 使用条形图可视化数据
---
## Description
<section id="description"> <strong>目标:</strong>构建一个功能类似于此的<a href="https://codepen.io" target="_blank">CodePen.io</a>应用程序: <a href="https://codepen.io/freeCodeCamp/full/GrZVaM" target="_blank">https</a> <strong></strong> <a href="https://codepen.io" target="_blank">//codepen.io/freeCodeCamp/full/GrZVaM</a> 。完成以下<a href="https://en.wikipedia.org/wiki/User_story" target="_blank">用户故事</a>并通过所有测试。给它你自己的个人风格。您可以使用HTMLJavaScriptCSS和基于D3 svg的可视化库。测试需要使用D3轴属性生成轴该属性会自动生成沿轴的刻度。通过D3测试需要这些刻度因为它们的位置用于确定绘制元素的对齐方式。有关生成轴的信息 <a href="https://github.com/d3/d3/blob/master/API.md#axes-d3-axis" target="_blank"></a>访问<a href="https://github.com/d3/d3/blob/master/API.md#axes-d3-axis" target="_blank">https://github.com/d3/d3/blob/master/API.md#axes-d3-axis</a> 。在每次测试时查询必需非虚拟DOM元素。如果您使用前端框架例如Vue则测试结果可能对动态内容不准确。我们希望最终能够容纳它们但D3项目目前不支持这些框架。 <strong>用户故事1</strong>我的图表应该有一个标题,对应的<code>id=&quot;title&quot;</code><strong>用户故事2</strong>我的图表应该有一个<code>g</code>元素x轴对应的<code>id=&quot;x-axis&quot;</code><strong>用户故事3</strong>我的图表应该有一个<code>g</code>元素y轴对应的<code>id=&quot;y-axis&quot;</code><strong>用户故事4</strong>两个轴应包含多个刻度标签,每个刻度标签对应的<code>class=&quot;tick&quot;</code><strong>用户故事5</strong>我的图表应该为每个数据点都有一个<code>rect</code>元素,相应的<code>class=&quot;bar&quot;</code>显示数据。 <strong>用户故事6</strong>每个栏应具有包含日期和GDP值的属性<code>data-date</code><code>data-gdp</code><strong>用户故事7</strong>条形元素的<code>data-date</code>属性应与提供的数据的顺序相匹配。 <strong>用户故事8</strong>条形元素的<code>data-gdp</code>属性应与提供的数据的顺序相匹配。 <strong>用户故事9</strong>每个条形元素的高度应准确地表示数据的相应GDP。 <strong>用户故事10</strong> <code>data-date</code>属性及其对应的bar元素应与x轴上的对应值对齐。 <strong>用户故事11</strong> <code>data-gdp</code>属性及其对应的bar元素应与y轴上的对应值对齐。 <strong>用户故事12</strong>我可以将鼠标悬停在一个区域上,并查看带有相应<code>id=&quot;tooltip&quot;</code> ,其中显示有关该区域的更多信息。 <strong>用户故事13</strong>我的工具提示应该有一个<code>data-date</code>属性,该属性对应于活动区域的<code>data-date</code> 。以下是完成此项目所需的数据集: <code>https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-data.json</code> <a href="https://codepen.io/freeCodeCamp/pen/MJjpwO" target="_blank">//raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-data.json</a>您可以通过分叉<a href="https://codepen.io/freeCodeCamp/pen/MJjpwO" target="_blank">此CodePen笔</a>来构建项目。或者您可以使用此CDN链接在您喜欢的任何环境中运行测试 <code>https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js</code> <code>https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js</code> 。完成后将URL提交到工作项目并传递所有测试。如果卡住请记住使用<a href="https://www.freecodecamp.org/forum/t/how-to-get-help-when-you-are-stuck-coding/19514" target="_blank">Read-Search-Ask</a>方法。 </section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests: []
```
</section>
## Challenge Seed
<section id='challengeSeed'>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>