Files

3.7 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7fa6367417b2b2512bc0 Visualizar dados com um diagrama Treemap 3 301468 visualize-data-with-a-treemap-diagram

--description--

Objetivo: criar uma aplicação no CodePen.io que tenha função semelhante a esta: https://codepen.io/freeCodeCamp/full/KaNGNR.

Atenda às histórias de usuário abaixo e obtenha aprovação em todos os testes. Dê a ele o seu próprio estilo pessoal.

Você pode usar HTML, JavaScript, CSS e a biblioteca de visualização D3, baseada em svg. Os testes requerem que os eixos sejam gerados usando a propriedade de eixos do D3, que geram automaticamente marcações ao longo do eixo. Essas marcações são exigidas para passar nos testes do D3 porque suas posições são usadas para determinar o alinhamento dos elementos do gráfico. Você vai encontrar informações sobre a geração de eixos em https://github.com/d3/d3/blob/master/API.md#axes-d3-axis. Os elementos DOM necessários (não virtuais) são consultados no momento de cada teste. Se você usar um framework de front-end (como o Vue por exemplo), os resultados dos testes podem ser imprecisos para conteúdo dinâmico. Esperamos dar suporte a eles um dia, mas atualmente esses frameworks não são suportados para os projetos de D3.

**História de usuário nº 1: ** meu treemap deve ter um título com um id="title" correspondente.

**História de usuário nº 2: ** meu treemap deve ter uma descrição com uma id="description" correspondente.

**História de usuário nº 3: ** meu treemap deve ter elementos rect com uma class="tile" que representa os dados.

História de usuário nº 4: deve haver pelo menos 4 cores diferentes de preenchimento usadas para os blocos.

História de usuário nº 5: cada bloco deve ter as propriedades data-name, data-category e data-value contendo os valores de name, category e value correspondentes.

História de usuário nº 6: a área de cada bloco deve corresponder à quantidade de data-value: blocos com um data-value maior devem ter uma área maior.

História de usuário nº 7: meu treemap deve ter uma legenda com o id="legend" correspondente.

História de usuário nº 8: minha legenda deve ter elementos rect com um class="legend-item" correspondente.

História de usuário nº 9: os elementos rect na legenda devem usar pelo menos 2 cores diferentes de preenchimento.

História de usuário nº 10: eu posso passar com o mouse sobre uma área e ver uma dica com o id="tooltip" correspondente, que exibe mais informações sobre a área.

História de usuário nº 11: minha dica deve ter uma propriedade data-value que corresponda à data-value da área ativa.

Para este projeto, você pode usar qualquer um dos seguintes conjuntos de dados:

  • Contribuições do Kickstarter: https://cdn.freecodecamp.org/testable-projects-fcc/data/tree_map/kickstarter-funding-data.json
  • Venda de filmes: https://cdn.freecodecamp.org/testable-projects-fcc/data/tree_map/movie-data.json
  • Venda de videogames: https://cdn.freecodecamp.org/testable-projects-fcc/data/tree_map/video-game-sales-data.json

Você pode fazer o seu projeto usando este modelo da CodePen e clicando em Save para criar seu próprio pen. Como alternativa, use este link da nossa CDN para executar os testes em qualquer ambiente que você preferir: https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js

Quando tiver terminado, envie o URL do seu projeto depois de ele haver passado em todos os testes.

--solutions--

// solution required