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

39 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode 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: bd7178d8c242eddfaeb5bd13
title: Visualize Data with a Scatterplot Graph
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/bgpXyK" target="_blank">https</a> <strong></strong> <a href="https://codepen.io" target="_blank">//codepen.io/freeCodeCamp/full/bgpXyK</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>的title元素。 <strong>用户故事2</strong>我可以看到一个x轴其对应的<code>id=&quot;x-axis&quot;</code><strong>用户故事3</strong>我可以看到一个y轴它具有相应的<code>id=&quot;y-axis&quot;</code><strong>用户故事4</strong>我可以看到点,每个点都有一个<code>dot</code> ,表示正在绘制的数据。 <strong>用户故事5</strong>每个点应具有包含其对应的x和y值的属性<code>data-xvalue</code><code>data-yvalue</code><strong>用户故事6</strong>每个点的<code>data-xvalue</code><code>data-yvalue</code>应该在实际数据的范围内,并且应该是正确的数据格式。对于<code>data-xvalue</code> 可以接受整数全年或Date对象进行测试评估。对于<code>data-yvalue</code> 分钟请使用Date对象。 <strong>用户故事7</strong> <code>data-xvalue</code>及其对应的点应与x轴上的对应点/值对齐。 <strong>用户故事8</strong> <code>data-yvalue</code>及其对应的点应与y轴上的对应点/值对齐。 <strong>用户故事9</strong>我可以在y轴上看到多个刻度标签其中<code>%M:%S</code>时间格式。 <strong>用户故事10</strong>我可以在x轴上看到显示年份的多个刻度标签。 <strong>用户故事11</strong>我可以看到x轴标签的范围在实际的x轴数据范围内。 <strong>用户故事12</strong>我可以看到y轴标签的范围在实际y轴数据的范围内。 <strong>用户故事13</strong>我可以看到包含<code>id=&quot;legend&quot;</code>描述性文本的<code>id=&quot;legend&quot;</code><strong>用户故事14</strong>我可以将鼠标悬停在一个区域上,并查看带有相应<code>id=&quot;tooltip&quot;</code> ,其中显示有关该区域的更多信息。 <strong>用户故事15</strong>我的工具提示应该有一个<code>data-year</code>属性,该属性对应于活动区域的<code>data-xvalue</code> 。以下是完成此项目所需的数据集: <code>https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/cyclist-data.json</code> <a href="https://codepen.io/freeCodeCamp/pen/MJjpwO" target="_blank">//raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/cyclist-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://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/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>