Files
2022-01-20 20:30:18 +01:00

4.4 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
bd7168d8c242eddfaeb5bd13 棒グラフでデータを可視化する 3 301464 visualize-data-with-a-bar-chart

--description--

目標: https://codepen.io/freeCodeCamp/full/GrZVaM と同様の機能を持つ CodePen.io アプリを構築します。

以下のユーザーストーリーを達成して、すべてのテストに合格してください。 あなたの独自のスタイルにしましょう。

HTML、JavaScript、CSS、および D3 の SVG ベースのビジュアライゼーションライブラリを使用できます。 テストでは、軸に沿って自動的に目盛り (tick) を生成する D3 軸プロパティを使用して軸を生成する必要があります。 これらの目盛りは、グラフ化された要素の配置を決定するために使用されるので、D3 テストに合格するために必要です。 軸の生成については、https://github.com/d3/d3/blob/master/API.md#axes-d3-axis を参照してください。 必要な (非仮想) DOM 要素は、各テストの時にクエリされます。 フロントエンドフレームワーク (例えば Vue など) を使用した場合、動的なコンテンツではテスト結果が不正確になる可能性があります。 最終的には対応したいと考えていますが、現在の D3 プロジェクトではこれらのフレームワークはサポートされていません。

ユーザーストーリー #1: 私のチャートには、タイトルとそれに対応する id="title" が必要です。

ユーザーストーリー #2: 私のチャートには、g 要素の x 軸とそれに対応する id="x-axis" が必要です。

ユーザーストーリー #3: 私のチャートには、g 要素の y 軸とそれに対応する id="y-axis" が必要です。

ユーザー ストーリー#4: 両軸には、複数の目盛りラベルと、それぞれに対応する class="tick" が含まれている必要があります。

ユーザーストーリー #5: 私のチャートには、各データポイントに対して、rect 要素と、それに対応してデータを表示する class="bar" が必要です。

ユーザーストーリー #6: 各バーには、date 値を格納している data-date プロパティと、GDP 値を格納している data-gdp プロパティが必要です。

ユーザーストーリー #7: バー要素の data-date プロパティは、提供されたデータの順序と一致する必要があります。

ユーザーストーリー #8: バー要素の data-gdp プロパティは、提供されたデータの順序と一致する必要があります。

ユーザーストーリー #9: 各バーの要素の高さは、そのデータに対応する GDP を正確に表す必要があります。

ユーザーストーリー #10: data-date 属性とそれに対応するバー要素は、x 軸上の対応する値と一致している必要があります。

ユーザーストーリー #11: data-gdp 属性とそれに対応する bar 要素は、y 軸上の対応する値と一致している必要があります。

ユーザーストーリー #12: ある領域にマウスカーソルを合わせると、その領域の詳細情報を表示するための、対応する id="tooltip" を持つツールチップが表示されます。

ユーザーストーリー #13: 私のツールチップには、アクティブな領域の data-date に対応する data-date プロパティが必要です。

このプロジェクトを完了するために必要なデータセットはこちらにあります: https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-data.json

プロジェクトを構築するには、こちらの CodePen テンプレートを使用し、Save をクリックして独自のペンを作成します。 または、下記の CDN リンクを使用して、使い慣れている環境でテストを実行することもできます:https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js

完了したら、すべてのテストに合格した作業プロジェクトの URL を送信してください。

--solutions--

// solution required