努力は報われる

JavaScriptJavaScriptBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、EChartsを使ってある都市の過去5年間の作物収穫量の統計グラフを作成する方法を学びます。このプロジェクトの目的は、人々の暮らしに直接影響を与える作物収穫量の統計を通じて、実際の問題をどのように分析するかを示すことです。

👀 プレビュー

画像の説明

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • プロジェクト環境をセットアップし、提供されたファイルを理解する方法
  • JSONファイルからデータを取得し、それを処理してEChartsのビジュアライゼーションを更新する方法
  • 折れ線グラフと円グラフの外観とレイアウトをカスタマイズする方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • Axiosライブラリを使ってJSONファイルからデータを取得する
  • EChartsオプションオブジェクトを操作してビジュアライゼーションを更新する
  • タイトル、レイアウト、その他のプロパティを調整することでグラフをカスタマイズする

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/DOMManipulationGroup(["DOM Manipulation"]) javascript(("JavaScript")) -.-> javascript/NetworkingGroup(["Networking"]) javascript/AdvancedConceptsGroup -.-> javascript/async_prog("Asynchronous Programming") javascript/DOMManipulationGroup -.-> javascript/dom_manip("DOM Manipulation") javascript/NetworkingGroup -.-> javascript/http_req("HTTP Requests") javascript/NetworkingGroup -.-> javascript/json("JSON") subgraph Lab Skills javascript/async_prog -.-> lab-445640{{"努力は報われる"}} javascript/dom_manip -.-> lab-445640{{"努力は報われる"}} javascript/http_req -.-> lab-445640{{"努力は報われる"}} javascript/json -.-> lab-445640{{"努力は報われる"}} end

プロジェクト構造をセットアップする

このステップでは、プロジェクト構造をセットアップし、必要なファイルとフォルダを準備します。

コードエディタでプロジェクトフォルダを開きます。ディレクトリ構造は以下の通りです。

├── data.json
├── index.html
└── js
    ├── axios.min.js
    └── echarts.min.js

ここで:

  • index.html はメインページです。
  • js/echarts.min.js はEChartsファイルです。
  • js/axios.min.js はaxiosファイルです。
  • data.json は対応する年のトン数での穀物生産データです。

WebIDEの右下隅にある Go Live ボタンをクリックして、プロジェクトを実行します。

次に、VMの上部にある「Web 8080」を開き、ページを手動で更新して、ブラウザで以下のような表示を確認します。

画像の説明

データを取得する

このステップでは、データ要求を完了し、折れ線グラフと円グラフに作物収穫量データを正しく表示します。

  1. index.html ファイルで、// TODO セクションを探します。
  2. axios.get() メソッドを使用して、data.json ファイルからデータを取得します。
axios.get("./data.json").then((res) => {
  let data = res.data.data;
  // TODO: データを処理してオプションオブジェクトを更新する
});
  1. .then() コールバックの中で、data.json ファイルからのデータを処理し、それに応じて option オブジェクトを更新します。

    • 各作物種のデータを格納するためのオブジェクト dataObj を作成します。
    • データのラベルを格納するための配列 sourceTip を作成します。
    • データをループして、dataObjsourceTip 配列を埋めます。
    • 新しい newSource 配列を作成し、dataObjsourceTip のデータで埋めます。
    • newSource 配列で option.dataset.source を更新します。
    • myChart.setOption(option) を呼び出して、新しいデータでチャートを更新します。
// TODO
let dataObj = {
  wheat: ["wheat"],
  soybean: ["soybean"],
  potato: ["potato"],
  corn: ["corn"]
};
let sourceTip = ["all"];

axios.get("./data.json").then((res) => {
  let data = res.data.data;

  for (const key1 in data) {
    sourceTip.push(key1);
    for (const key2 in data[key1]) {
      dataObj[key2].push(data[key1][key2]);
    }
  }

  let newSource = [];
  newSource.push(sourceTip);
  for (const key in dataObj) {
    newSource.push(dataObj[key]);
  }

  option.dataset.source = newSource;
  myChart.setOption(option);
});
  1. index.html ファイルを保存してページを更新します。このとき、正しいデータが表示された更新された折れ線グラフと円グラフが表示されるはずです。
画像の説明
✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたは実験技術を向上させるためにLabExでさらに多くの実験を行うことができます。