39 lines
4.3 KiB
Markdown
39 lines
4.3 KiB
Markdown
|
---
|
||
|
id: bd7188d8c242eddfaeb5bd13
|
||
|
title: Visualize Data with a Heat Map
|
||
|
isRequired: true
|
||
|
challengeType: 3
|
||
|
videoUrl: ''
|
||
|
localeTitle: Visualize dados com um mapa de calor
|
||
|
---
|
||
|
|
||
|
## 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/JEXgeY" target="_blank">https://codepen.io/freeCodeCamp/full/JEXgeY</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. 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>User Story # 1:</strong> Meu heat map deve ter um título com um <code>id="title"</code> . <strong>User Story # 2:</strong> Meu heat map deve ter uma descrição com um <code>id="description"</code> . <strong>User Story # 3:</strong> Meu mapa de calor deve ter um eixo x com um <code>id="x-axis"</code> . <strong>História do Usuário # 4:</strong> Meu mapa de calor deve ter um eixo y com um <code>id="y-axis"</code> . <strong>User Story # 5:</strong> Meu heat map deve ter elementos <code>rect</code> com uma <code>class="cell"</code> que representa os dados. <strong>User Story # 6:</strong> Deve haver pelo menos 4 cores de preenchimento diferentes usadas para as células. <strong>User Story # 7:</strong> Cada célula terá as propriedades <code>data-month</code> , <code>data-year</code> , <code>data-temp</code> contendo seus valores correspondentes de mês, ano e temperatura. <strong>User Story # 8:</strong> O <code>data-month</code> , <code>data-year</code> de cada célula deve estar dentro do intervalo dos dados. <strong>História do usuário nº 9:</strong> Meu mapa de calor deve ter células alinhadas com o mês correspondente no eixo y. <strong>User Story # 10:</strong> Meu mapa de calor deve ter células alinhadas com o ano correspondente no eixo x. <strong>User Story # 11:</strong> Meu mapa de calor deve ter vários marcadores de escala no eixo y com o nome completo do mês. <strong>User Story # 12:</strong> Meu heat map deve ter vários rótulos de ticks no eixo x com os anos entre 1754 e 2015. <strong>User Story # 13:</strong> Meu heat map deve ter uma legenda com um <code>id="legend"</code> . <strong>User Story # 14:</strong> Minha legenda deve conter elementos <code>rect</code> . <strong>User Story # 15:</strong> Os elementos <code>rect</code> na legenda devem usar pelo menos 4 cores de preenchimento diferentes. <strong>User Story # 16:</strong> Eu posso passar o mouse sobre uma área e ver uma dica de ferramenta com uma <code>id="tooltip"</code> que exibe mais informações sobre a área. <strong>User Story # 16:</strong> Minha dica de ferramenta deve ter uma propriedade <code>data-year</code> que corresponda ao <code>data-year</code> da área ativa. Aqui está o conjunto de dados necessário para concluir este projeto: <code>https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/global-temperature.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>
|