39 lines
4.7 KiB
Markdown
39 lines
4.7 KiB
Markdown
---
|
||
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>并通过所有测试。给它你自己的个人风格。您可以使用HTML,JavaScript,CSS和基于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="title"</code>的title元素。 <strong>用户故事#2:</strong>我可以看到一个x轴,其对应的<code>id="x-axis"</code> 。 <strong>用户故事#3:</strong>我可以看到一个y轴,它具有相应的<code>id="y-axis"</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="legend"</code>描述性文本的<code>id="legend"</code> 。 <strong>用户故事#14:</strong>我可以将鼠标悬停在一个区域上,并查看带有相应<code>id="tooltip"</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>
|