3.8 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
bd7168d8c242eddfaeb5bd13 | Visualizar dados com um gráfico de barras | 3 | 301464 | visualize-data-with-a-bar-chart |
--description--
Objetivo: criar um app do CodePen.io que possua uma funcionalidade similar a essa: https://codepen.io/freeCodeCamp/full/GrZVaM.
Atenda às histórias de usuário abaixo e obtenha aprovação em todos os testes. Dê a elas 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 obrigató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 gráfico deve ter um título com um id="title"
correspondente.
História de usuário nº 2: meu gráfico deve ter um elemento g
no eixo x com um id="x-axis"
correspondente.
História de usuário nº 3: meu gráfico deve ter um elemento g
no eixo y com um id="y-axis"
correspondente.
História de usuário nº 4: ambos os eixos devem conter múltiplos rótulos (labels) de marcação, cada um com uma class="tick"
correspondente.
História de usuário nº 5: meu gráfico deve ter um elemento rect
para cada ponto com uma classe class="bar"
correspondente exibindo os dados.
História de usuário nº 6: cada barra deve ter as propriedades data-date
e data-gdp
, contendo os valores date
e GDP
, respectivamente.
História de usuário nº 7: as propriedades data-date
das barras devem corresponder à ordem fornecida pelos dados.
História de usuário nº 8: as propriedades data-gdp
das barras devem corresponder à ordem fornecida pelos dados.
História de usuário nº 9: a altura de cada barra deve representar corretamente os dados de GDP
correspondentes.
História de usuário nº 10: o atributo data-date
e sua barra correspondente devem estar alinhados com o seu valor correspondente no eixo x.
História de usuário nº 11: o atributo data-gdp
e sua barra correspondente devem estar alinhados com o seu valor correspondente no eixo y.
História de usuário nº 12: eu posso passar o mouse sobre uma área e ver uma dica com uma id="tooltip"
correspondente, que exibe mais informações sobre a área.
História de usuário nº 13: minha ferramenta de dica (tooltip) deve ter uma propriedade data-date
que corresponda à data-date
da área ativa.
Aqui está o dataset de que você precisará para completar este projeto: https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-data.json
Você pode fazer o seu projeto usando este modelo da CodePen e clicando em Save
para criar seu próprio pen. Ou você pode usar este link da 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