39 lines
4.5 KiB
Markdown
39 lines
4.5 KiB
Markdown
|
---
|
||
|
id: bd7168d8c242eddfaeb5bd13
|
||
|
title: Visualize Data with a Bar Chart
|
||
|
isRequired: true
|
||
|
challengeType: 3
|
||
|
videoUrl: ''
|
||
|
localeTitle: Visualize dados com um gráfico de barras
|
||
|
---
|
||
|
|
||
|
## 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/GrZVaM" target="_blank">https://codepen.io/freeCodeCamp/full/GrZVaM</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 1:</strong> meu gráfico deve ter um título com um <code>id="title"</code> . <strong>História do usuário # 2:</strong> Meu gráfico deve ter um eixo x do elemento <code>g</code> com um <code>id="x-axis"</code> . <strong>User Story # 3:</strong> Meu gráfico deve ter um eixo y do elemento <code>g</code> com um <code>id="y-axis"</code> . <strong>User Story # 4: Os</strong> dois eixos devem conter vários rótulos de ticks, cada um com a <code>class="tick"</code> correspondente <code>class="tick"</code> . <strong>User Story # 5:</strong> Meu gráfico deve ter um elemento <code>rect</code> para cada ponto de dados com uma <code>class="bar"</code> exibindo os dados. <strong>User Story # 6:</strong> Cada barra deve ter as propriedades <code>data-date</code> e <code>data-gdp</code> contendo data e valores do PIB. <strong>User Story # 7:</strong> As propriedades <code>data-date</code> dos elementos da barra devem corresponder à ordem dos dados fornecidos. <strong>User Story # 8:</strong> As propriedades do <code>data-gdp</code> dos elementos da barra devem corresponder à ordem dos dados fornecidos. <strong>História do usuário nº 9:</strong> a altura de cada elemento da barra deve representar com precisão o PIB correspondente dos dados. <strong>User Story # 10:</strong> O atributo <code>data-date</code> e seu elemento de barra correspondente devem estar alinhados com o valor correspondente no eixo x. <strong>User Story # 11:</strong> O atributo <code>data-gdp</code> e seu elemento de barra correspondente devem estar alinhados com o valor correspondente no eixo y. <strong>User Story # 12:</strong> Eu posso passar o mouse sobre uma área e ver uma dica com uma <code>id="tooltip"</code> que exibe mais informações sobre a área. <strong>User Story # 13:</strong> Minha dica de ferramenta deve ter uma propriedade <code>data-date</code> que corresponda à <code>data-date</code> da área ativa. Aqui está o conjunto de dados necessário para concluir este projeto: <code>https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-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 o URL para o seu projeto de trabalho com todos os testes sendo aprovados. Lembre-se de usar o método <a href="https://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/19514" target="_blan
|
||
|
|
||
|
## 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>
|