---
id: bd7178d8c242eddfaeb5bd13
title: Visualize Data with a Scatterplot Graph
isRequired: true
challengeType: 3
videoUrl: ''
localeTitle: Visualize dados com um gráfico de gráfico de dispersão
---

## Description
<section id="description"> <strong>Objetivo:</strong> criar um aplicativo <a href="https://codepen.io" target="_blank">CodePen.io</a> que seja funcionalmente semelhante a este: <a href="https://codepen.io/freeCodeCamp/full/bgpXyK" target="_blank">https://codepen.io/freeCodeCamp/full/bgpXyK</a> . Cumpra as <a href="https://en.wikipedia.org/wiki/User_story" target="_blank">histórias de usuário</a> abaixo e faça todos os testes para passar. Dê seu estilo pessoal. Você pode usar HTML, JavaScript, CSS e a biblioteca de visualização baseada em svg D3. Os testes exigem que os eixos sejam gerados usando a propriedade do eixo D3, que gera automaticamente marcações ao longo do eixo. Esses tiques são necessários para passar nos testes D3, porque suas posições são usadas para determinar o alinhamento dos elementos gráficos. Você encontrará informações sobre como gerar eixos em <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> . Elementos DOM (não virtuais) requeridos são consultados no momento de cada teste. Se você usar uma estrutura frontend (como o Vue, por exemplo), os resultados do teste podem ser imprecisos para o conteúdo dinâmico. Esperamos acomodá-los eventualmente, mas esses frameworks não são suportados atualmente para projetos D3. <strong>História do usuário nº 1:</strong> Eu posso ver um elemento título que tem um <code>id=&quot;title&quot;</code> . <strong>História do usuário nº 2:</strong> Eu posso ver um eixo x que tem um <code>id=&quot;x-axis&quot;</code> . <strong>História do usuário nº 3:</strong> Eu posso ver um eixo y que tem um <code>id=&quot;y-axis&quot;</code> . <strong>História do usuário nº 4:</strong> Eu posso ver pontos, cada um com uma classe de <code>dot</code> , que representa os dados sendo plotados. <strong>História do Usuário # 5:</strong> Cada ponto deve ter as propriedades <code>data-xvalue</code> e <code>data-yvalue</code> contendo seus valores x e y correspondentes. <strong>História do usuário nº 6:</strong> O valor <code>data-xvalue</code> <code>data-yvalue</code> e o <code>data-xvalue</code> y de <code>data-yvalue</code> de cada ponto devem estar dentro do intervalo dos dados reais e no formato de dados correto. Para <code>data-xvalue</code> , inteiros (anos completos) ou objetos Date são aceitáveis ​​para avaliação de teste. Para <code>data-yvalue</code> (minutos), use objetos Date. <strong>História do Usuário # 7:</strong> O <code>data-xvalue</code> e seu ponto correspondente devem estar alinhados com o ponto / valor correspondente no eixo x. <strong>História do usuário # 8:</strong> O valor de y dos <code>data-yvalue</code> e seu ponto correspondente devem estar alinhados com o ponto / valor correspondente no eixo y. <strong>História do usuário nº 9:</strong> posso ver vários rótulos de escala no eixo y com o formato de hora <code>%M:%S</code> <strong>História do usuário nº 10:</strong> posso ver vários rótulos de escala no eixo x que mostram o ano. <strong>História do usuário nº 11:</strong> Eu posso ver que o intervalo dos rótulos do eixo x estão dentro do intervalo dos dados reais do eixo x. <strong>História do usuário nº 12:</strong> Eu posso ver que o intervalo dos rótulos do eixo y estão dentro do intervalo dos dados reais do eixo y. <strong>História do usuário nº 13:</strong> Eu posso ver uma legenda contendo um texto descritivo que possui <code>id=&quot;legend&quot;</code> . <strong>História do usuário nº 14:</strong> Eu posso passar o mouse sobre uma área e ver uma dica com uma <code>id=&quot;tooltip&quot;</code> que exibe mais informações sobre a área. <strong>História do usuário nº 15:</strong> Minha dica de ferramenta deve ter uma propriedade <code>data-year</code> que corresponda ao valor <code>data-xvalue</code> da área ativa. Aqui está o conjunto de dados necessário para concluir este projeto: <code>https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/cyclist-data.json</code> Você pode criar seu projeto, bifurcando <a href="https://codepen.io/freeCodeCamp/pen/MJjpwO" target="_blank">essa caneta CodePen</a> . Ou você pode usar este link CDN para executar os testes em qualquer ambiente que desejar: <code>https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js</code> Quando terminar, envie a URL para o seu trabalho. projeto com todos os seus testes passando. Lembre-se de usar o método <a href="https://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/19514" target="_blank">Read-Search-Ask</a> se você ficar preso. </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>
