こんにちは! インフラジスティックス・ジャパン、テクニカル コンサルティング チームの石橋です。
「はじめての React」シリーズでは React が初めての人向けに React のアプリケーションの作成方法を順に説明したいと思います。Hello World から始めてインフラジスティックス製品の Ignite UI for React のグリッドやチャートを配置するところまでを目指します。
この記事は第 3 回目。最終回です。Ignte UI for React のチャートを表示させるところまで進めていきます。
連載目次
- 開発環境を整える。
- React のアプリケーションを動かしてみる。
- "Hello World!" と表示されるように書き換える。(前々回の「はじめての React ①」はここまで)
- Ignite UI for React のグリッドを配置する。(前回の「はじめての React ②」はここ)
- Ignite UI for React のチャートを配置する。(←今回はここ)
前回までに作成したアプリケーションに付け足す形で進めます。今回この記事が初めてという場合は、あらかじめ、前々回と前回の記事を見ながら、アプリケーションを作成してください。
5. Ignite UI for React のチャートを配置する。
Ignite UI for React のチャートはデータをグラフ形式で表示することができます。今回は、データ チャートを使用して、グリッドに表示したデータを棒グラフで表示させてみましょう。
データ チャートに必要なパッケージをインストールする。
データ チャートに必要なパッケージは以下の 2 つです。
- igniteui-react-core
- igniteui-react-charts
npm の install コマンドを使用してインストールします。プロンプトで次のコマンド順にを実行します。
> npm install --save igniteui-react-core > npm install --save igniteui-react-charts
MyDataChart コンポーネントを作成する。
前回の「はじめての React - ① Hello World」で HelloWorld コンポーネントを作成したのと同じ手順で、src フォルダーの直下に MyDataChart コンポーネントを作成します。

新規作成した MyDataChart.tsx を開き、以下のコードを貼り付け、保存します。
// src/MyDataChart.tsx
import * as React from 'react';
// ①IgrDataChartに必要なモジュールをインポートする。
// 軸のモジュール
import { IgrNumericYAxis } from 'igniteui-react-charts';
import { IgrCategoryXAxis } from 'igniteui-react-charts';
// シリーズのモジュール
import { IgrColumnSeries } from 'igniteui-react-charts';
// データチャートのモジュール
import { IgrDataChart } from 'igniteui-react-charts';
import { IgrDataChartCoreModule } from 'igniteui-react-charts';
import { IgrDataChartCategoryModule } from 'igniteui-react-charts';
// ②IgrDataChartに必要なモジュールを登録する。
IgrDataChartCoreModule.register();
IgrDataChartCategoryModule.register();
// ③Reactのコンポーネントを拡張してMyDataChartクラスコンポーネントを定義する。
export default class MyDataChart extends React.Component {
public data: any[];
// ④MyDataChartクラスコンポーネントのコンストラクター
constructor(props: any) {
super(props);
// ⑤IgrDataChartに表示するデータを生成する。
this.data = [
{"Year": "1920", "Population": 55963053 },
{"Year": "1930", "Population": 64450005 },
{"Year": "1940", "Population": 73114308 },
{"Year": "1950", "Population": 84114574 },
{"Year": "1960", "Population": 94301623 },
{"Year": "1970", "Population": 104665171 },
{"Year": "1980", "Population": 117060396 },
{"Year": "1990", "Population": 123611167 },
{"Year": "2000", "Population": 126925843 },
{"Year": "2010", "Population": 128057352 },
];
}
// ⑥MyDataChartクラスコンポーネントの描画を実装する。
public render() {
return(
<div style={{margin: "1em"}}>
{/*
⑦IgrDataChartを配置する。
*/}
<IgrDataChart
dataSource={this.data}
width="100%"
height="300px">
{/* 軸 */}
<IgrCategoryXAxis name="xAxis" label="Year" />
<IgrNumericYAxis name="yAxis" minimumValue="0" />
{/* シリーズ */}
<IgrColumnSeries
name="series1"
xAxisName="xAxis"
yAxisName="yAxis"
valueMemberPath="Population" />
</IgrDataChart>
</div>
);
}
}
MyDataChart コンポーネントを画面に配置する。
HelloWorld コンポーネントを画面に配置したときと同じように、src/App.jsx を開いて MyDataChart コンポーネントのインポートと配置をします。
// src/App.tsx
import React from 'react';
import HelloWorld from './HelloWorld';
import './App.css';
import MyGrid from './MyGrid';
import MyDataChart from './MyDataChart'; // ①MyDataChartコンポーネントをインポートする。
function App() {
return (
<div className="App">
{/* <HelloWorld /> */} {/* HelloWorldはもう不要なのでコメントアウトしています。 */}
<MyGrid />
<MyDataChart /> {/* ②MyDataChartコンポーネントを画面上に配置する。 */}
<div>
*データソース:
総務省 平成27年国勢調査 最終報告書「日本の人口・世帯」統計表 より
</div>
</div>
)
}
export default App;
ファイルをすべて保存して、プロンプトを開き、"npm start" を実行します。ブラウザーに
- データテーブル
- 棒グラフ
が表示されていれば OK です!

最後に
以上、3 回にわたって Hello World から Ignite UI for React のグリッドやチャートの表示まで見てきました。今回作成したサンプルのダウンロードはこちらです。
発展問題として、グリッドもチャートも同じデータを表示していますので、データサービスのようなものを作成してグリッドもチャートもそこからデータを受け取るようにしてみると良いと思います。ご自身でチャレンジしても良いですし、機会があれば別の記事で取り扱いたいと思っております。
この記事に関して何かご質問・ご不明な点がありましたら、お気兼ねなくインフラジスティックスまでお問い合わせください。