--- id: bd7178d8c242eddfaeb5bd13 title: Visualize Data with a Scatterplot Graph isRequired: true challengeType: 3 videoUrl: '' localeTitle: 使用散点图可视化数据 --- ## Description
目标:构建一个功能类似于此的CodePen.io应用程序: https //codepen.io/freeCodeCamp/full/bgpXyK 。完成以下用户故事并通过所有测试。给它你自己的个人风格。您可以使用HTML,JavaScript,CSS和基于D3 svg的可视化库。测试需要使用D3轴属性生成轴,该属性会自动生成沿轴的刻度。通过D3测试需要这些刻度,因为它们的位置用于确定绘制元素的对齐方式。有关生成轴的信息, 访问https://github.com/d3/d3/blob/master/API.md#axes-d3-axis 。在每次测试时查询必需(非虚拟)DOM元素。如果您使用前端框架(例如Vue),则测试结果可能对动态内容不准确。我们希望最终能够容纳它们,但D3项目目前不支持这些框架。 用户故事#1:我可以看到一个具有相应id="title"的title元素。 用户故事#2:我可以看到一个x轴,其对应的id="x-axis"用户故事#3:我可以看到一个y轴,它具有相应的id="y-axis"用户故事#4:我可以看到点,每个点都有一个dot ,表示正在绘制的数据。 用户故事#5:每个点应具有包含其对应的x和y值的属性data-xvaluedata-yvalue用户故事#6:每个点的data-xvaluedata-yvalue应该在实际数据的范围内,并且应该是正确的数据格式。对于data-xvalue ,可以接受整数(全年)或Date对象进行测试评估。对于data-yvalue (分钟),请使用Date对象。 用户故事#7: data-xvalue及其对应的点应与x轴上的对应点/值对齐。 用户故事#8: data-yvalue及其对应的点应与y轴上的对应点/值对齐。 用户故事#9:我可以在y轴上看到多个刻度标签,其中%M:%S时间格式。 用户故事#10:我可以在x轴上看到显示年份的多个刻度标签。 用户故事#11:我可以看到x轴标签的范围在实际的x轴数据范围内。 用户故事#12:我可以看到y轴标签的范围在实际y轴数据的范围内。 用户故事#13:我可以看到包含id="legend"描述性文本的id="legend"用户故事#14:我可以将鼠标悬停在一个区域上,并查看带有相应id="tooltip" ,其中显示有关该区域的更多信息。 用户故事#15:我的工具提示应该有一个data-year属性,该属性对应于活动区域的data-xvalue 。以下是完成此项目所需的数据集: https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/cyclist-data.json//raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/cyclist-data.json您可以通过分叉此CodePen笔来构建项目。或者您可以使用此CDN链接在您喜欢的任何环境中运行测试: https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.jshttps://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js完成后,将URL提交给您的工作通过所有测试的项目。如果卡住,请记住使用Read-Search-Ask方法。
## Instructions
## Tests
```yml tests: [] ```
## Challenge Seed
## Solution
```js // solution required ```