インフラジスティックス・ジャパン株式会社Blog

インフラジスティックス・ジャパン株式会社のチームメンバーが技術トレンド、製品Tips、サポート情報からライセンス、日々の業務から感じることなど、さまざまなトピックについてお伝えするBlogです。

【React チャート 大量データ】リアルタイム×高速な時系列チャートを描画するUIライブラリ

こんにちは、Infragistics ソリューションコンサルタントの田上です。

本記事では、Reactアプリで大量データをリアルタイムに描画するための「チャートUI」についてご紹介します。地味に見えて、実装のパフォーマンスとUXを大きく左右するのが「チャートの描画処理」。特にReactでは、クライアント負荷や更新処理とのバランスが課題になりがちです。

次のようなお悩みをお持ちの方、いらっしゃいませんか?

  • Reactで時系列チャートを描画したいが、数万件以上のデータで動作が重い
  • 0.1秒~1秒ごとに更新されるトレンドデータを、滑らかに描画したい
  • ズーム・パン・ライン・オーバーレイなど分析に必要なUI操作も実装したい
  • Webアプリでも、デスクトップ並みの描画性能を出したい

このような悩みをお持ちではないでしょうか?

多くのチャートライブラリは、Reactとの親和性に課題があったり、数万~数十万件を超えると表示が重くなるといった問題を抱えています。特に、製造業のセンシングデータ、株価やFXなどの金融トレンド、IoTのリアルタイム監視といったケースでは、秒単位で変化する大量データを視覚的に処理できることが求められます。

こうしたニーズに応えるのが、InfragisticsのReact対応UI「Financial Chart(フィナンシャルチャート)」です。

本記事では、1,000~100万データポイントの「大量データ」に対応しつつ、高頻度なリアルタイム描画やインタラクティブ操作もスムーズに実現できる、Financial Chartの特徴をご紹介します。

👉 実際のデモはこちら

  • ※ブラウザのローディング完了後に高速に動作します。(40~70FPS)
  • ※ローディング完了まで30~60秒ほどかかります。

Financial Chart デモ

Financial Chart(フィナンシャルチャート)

📈 Financial Chartとは?

Infragisticsが提供するUIライブラリ「Ignite UI for React」の一部として提供されているFinancial Chartは、大量かつリアルタイム性の高いデータを滑らかに描画することに特化したチャートコンポーネントです。

通常の折れ線グラフやローソク足チャートに加えて、分析機能やインタラクションにも優れています。特に、以下のようなシナリオで効果を発揮します。

  • 秒単位で変化するセンサー値の監視
  • 金融市場のリアルタイムトレンド表示
  • 産業機械や製造ラインの状態表示
  • ネットワークトラフィックの可視化

🔄 高速リアルタイム描画(0.0秒~1.0秒間隔、3FPS~72FPS)

Financial Chartは、3FPS(1.0秒単位)から最大72FPS(0.1秒単位)まで、ユーザーの要件に応じたリアルタイム更新をサポートしています。

更新間隔は0.0秒〜1.0秒の範囲で設定可能で、特に0.1秒間隔での更新においてもスムーズに描画が続く点が最大の特長です。

💡 1,000~10,000ポイントを軽快に表示

チャートにおいて最も重要なのは「滑らかな表示」。Financial Chartは、1,000〜10,000ポイントのデータを描画した場合でも、スクロール・ズーム・更新が快適に行えます。

さらに、100,000ポイントや1,000,000ポイント(100万)まで描画可能なパフォーマンスが備わっており、大量データを扱う業務でも安心です。

⚠ ただし、100万ポイント以上を扱う場合は、お客様環境での検証を推奨します(詳細は後述)。

🔍 ズームイン・ズームアウト(Zoom)

マウスホイールやタッチ操作によって、任意のエリアを拡大・縮小することができます。

  • 線の密度が濃いエリアでは拡大して詳細に分析
  • 全体のトレンドを見るときには縮小
  • といった使い分けが、直感的な操作で可能です。

↔ パン(Panning)でスライド操作も快適

Zoomとセットで便利なのがPanning(パンニング)機能です。グラフ上をドラッグして水平方向にスライドすることで、指定範囲外のデータも即座に参照可能です。

これにより、「大量データの全体把握と詳細分析」が同時に実現できます。

https://filetransfer.infragistics.com/index.php/s/HS6woXigQ6oto24/download?path=&files=

  • ※ローディング完了まで30~60秒ほどかかります。

📏 縦軸ライン(Slice Layer)で正確な読み取り

分析用途では、特定の時点の値を読み取りたいケースが多くあります。Financial Chartでは、縦軸ライン(Slice Layer)を表示することができます。

  • 指定ポイントの価格や値を正確に把握
  • 複数シリーズを一括で比較

縦軸ライン(Slice Layer)デモ

🖊 任意の直線(Line Layer)を自由に描画

Slice Layerに加えて、任意の直線(Line Layer)も描画可能です。

  • 水平線で「目標値」や「上限・下限ライン」を明示
  • 斜め線で「トレンドライン」を引く
  • カスタムイベントラインを描画

自由なライン(Line Layer)デモ

🔲 矩形ボックス(Rect Layer)で範囲を可視化

一定期間の注目範囲や異常エリアを矩形で強調表示できます。

  • 「この1時間のデータを注目」として矩形を重ねる
  • 故障検知時の範囲をハイライト

矩形ボックスのオーバーレイ(Rect Layer)デモ

🟪 X軸レンジの背景強調(Strip Layer)

Strip Layerは、X軸上の特定のレンジに背景色をつける機能です。

  • 営業時間帯や夜間などの時間帯ごとに色分け
  • 閑散期/繁忙期などの区別

X軸のレンジ(Strip Layer)デモ

⚠ 大量データ取り扱い時の注意点

InfragisticsのFinancial Chartは非常に高性能ですが、下記の基準があります。

  • Gridコンポーネント:最大100万レコード
  • Chartコンポーネント:最大100万データポイント(プロット)

この数値はあくまで目安であり、実際にはデータの種類・更新頻度・デバイス性能などによってパフォーマンスが変動します。

もし、「100万データポイント以上の描画」を想定する場合は、社内でしっかり事前検証をされることを強く推奨します。

🔧 パフォーマンス改善のポイント

  • データは不要部分をフィルタリングして渡す
  • 描画範囲を制限しておく
  • 更新は差分のみに絞る

プログラム処理の中でも、上記の様な改善対応を施すことを推奨しています。

✅ まとめ:React × 大量データならFinancial Chartが最適解

Reactで大量データを扱うチャートを探しているなら、Infragisticsの「Financial Chart(フィナンシャルチャート)」は非常に有力な選択肢です。

  • 高速でリアルタイム描画(最大72FPS)
  • 最大100万ポイントまで滑らかに表示
  • Zoom・Pan・ライン・オーバーレイなど分析機能も充実
  • ブラウザやマシンに負荷をかけすぎず、長時間稼働も安心

「Webアプリでもネイティブアプリ並みのパフォーマンスを出したい」と考えている方には、まさにピッタリのUIコンポーネントです。

🔗 参考リンク

まとめ

Reactアプリで大量の時系列データをリアルタイムに描画しつつ、ズーム・パン・分析ラインなど高度なUI機能を取り入れたいと考える現場において、Infragisticsの「Financial Chart(フィナンシャルチャート)」はとても頼れる存在です。

単なるグラフ表示だけでなく、UX・パフォーマンス・拡張性をすべて備えたチャートコンポーネントは、日々の開発業務を確実に効率化してくれるはずです。

まだ触れたことがなかった方は、ぜひ今日から試してみてください。

Reactと相性の良いハイパフォーマンスなチャートを使って、大量データの視覚化を“弱み・課題”ではなく“強み・優位性”に変えていきましょう。

実際の動きを体験したい方は、Financial Chart デモをご覧ください。

すべてを体験するには、Ignite UI for React 無料トライアル にアクセスして、最新バージョンをぜひお試しください。

  • 「こんなことは実現できるの?」
  • 「どうやって実装すれば良いの?」

といった開発上の疑問にソリューションコンサルタントが直接お答えします。

ぜひ japansalesgroup@infragistics.com まで、お気軽にお問合せください。ご意見ご要望を心よりお待ちしています。

無料トライアルのご案内

こちらからトライアルへご参加できます。

無料相談会のご案内

専門コンサルタントが直接ご質問にお答えし、貴社に最適な移行戦略をご提案します。