SPREAD for Windows Forms 17.0Jで強化されたチャート機能

業務アプリケーションにおいて膨大なデータを分析する必要がある場合には、データの可視化(データビジュアライゼーション)は欠かせない要件となってきています。

SPREAD for Windows Forms 17.0J(スプレッド)では、チャート機能が強化され、より多彩なグラフ表現や柔軟なカスタマイズが可能になりました。特に初版で追加された「複数レベルの項目軸ラベル」や「チャートシート」など、実際の業務で役立つ新機能が搭載されています。

本記事では、これらの新機能を中心にSPREAD for Windows Forms 17.0J(以下SPREAD)のチャートコントロールの使い方や活用例を紹介します。Excelライクな表計算とグラフを利用したデータの可視化および分析を利用したい方はぜひ参考にしてください。

開発環境

本記事のサンプルは、Visual Studio 2022とSPREAD(SP3)を使用しています。SPREADの .NET 8対応モジュールはNuGetパッケージで提供されており、NuGetのサイトまたはインストーラによってインストールされるパッケージ(*.nupkg)を使用することが可能です。

なお、SPREADを使用するには、製品版またはトライアル版をインストールして製品の認証を行う必要があります。トライアル版は以下からダウンロード可能です。

Visual Studio 2022でのプロジェクトの作成方法や、NuGetパッケージのインストール方法は以下のドキュメントを参考にしてください。

コントロールの配置

.NET 8用のプロジェクトを作成してSPREADのNuGetパッケージをインストールすると、Visual Studioのツールボックスに「Spread for Windows Forms」というタブが作成されます。その中にある「FpChart」「FpSpread」コントロールがそれぞれチャートコントロール、SPREADコントロールに該当します。

コントロールの配置

チャートコントロール

チャートコントロールはグラフ描画機能を提供します。SPREADコントロールを同一フォーム上に配置することで、データの入力・編集とグラフ表示を連携させることができます。本記事のサンプルではフォームの上部にチャートコントロールを配置しています。

チャートコントロール

SPREADコントロール

SPREADコントロールは、Excelライクな表計算機能をWindows Formsアプリケーションに組み込むための強力なコンポーネントです。チャートコントロールと連携するだけでなく、SPREADコントロール内のシート上にチャートオブジェクトを配置することも可能です。本記事のサンプルではフォームの下部にSPREADコントロールを配置しています。

SPREADコントロール

強化されたチャート機能

複数レベルの項目軸ラベル

17.0Jで追加された「複数レベルの項目軸ラベル」機能は、階層的なカテゴリデータをグラフの軸ラベルとして表現できる新機能です。これにより、例えば「年度」と「四半期」など、複数階層のラベルをX軸に表示し、データのグループ化や比較が直感的に行えます。

設定は、データ領域を指定してグラフを設定した後でXAxisオブジェクトのMultiLevelプロパティをtrueにしています。業務で求められる複雑なデータ構造を持つグラフでも、視認性および分析しやすさが向上します。

// 棒チャート設定
FarPoint.Win.Chart.YPlotArea plotArea = new FarPoint.Win.Chart.YPlotArea();
plotArea.Location = new PointF(0.1f, 0.2f);
plotArea.Size = new SizeF(0.75f, 0.6f);
plotArea.Series.Add(series1);

...

// 複数レベルの項目軸ラベルを有効
plotArea.XAxis.MultiLevel = true;
複数レベルの項目軸ラベル

誤差範囲(エラーバー)

誤差範囲(エラーバー)は、測定値や集計値のばらつきをグラフ上で表現するための機能です。SPREADのチャートコントロールでは、棒グラフや折れ線グラフなどでエラーバーを簡単に追加できます。

エラーバーの種類(固定値、パーセンテージ、標準偏差など)や表示方向(上下・左右)も柔軟に設定可能です。これにより、実験データや統計データの信頼性を視覚的に伝えることができます。エラーバーの追加は、各データ系列のErrorBarsプロパティを設定することで実装できます。

// シリーズを設定
FarPoint.Win.Chart.BarSeries series1 = new FarPoint.Win.Chart.BarSeries();
series1.SeriesNameDataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(fpSpread1, "Values", "Sheet1!$C$1:$C$1", FarPoint.Win.Spread.Chart.SegmentDataType.Text);
series1.Values.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(fpSpread1, "Values", "Sheet1!$C$2:$C$7");
series1.CategoryNames.DataSource = new FarPoint.Win.Spread.Chart.SeriesDataField(fpSpread1, "Values", "Sheet1!$A$2:$A$7", FarPoint.Win.Spread.Chart.SegmentDataType.Text);

// 誤差範囲の設定
ErrorBars errorBar = series1.SetErrorBarsVisible(true);
errorBar.ValueType = ErrorBarValueType.StandardError;
errorBar.Type = FarPoint.Win.Chart.ErrorBarType.Both;
誤差範囲(エラーバー)

チャートシート

17.0Jでは従来のシートに加えて「チャートシート」機能が追加されました。チャートシートは、シート全体をグラフ表示専用に使うもので、Excelのチャートシートと同様のイメージです。これによりグラフを大きく表示したり、これまでとは異なる画面を構成したりすることが容易になりました。

チャートシートの追加は、IWorkbookChartsコレクションに項目を追加してシートのChartオブジェクトにモデルを割り当てます。データシートとチャートシートを切り替えて表示することで、データの入力・編集とグラフの可視化をシームレスに連携できます。業務アプリケーションのUI向上に役立つ機能です。

// チャートシートの追加とモデルの割り当て
fpSpread1.AsWorkbook().Charts.Add(after: "Sheet1", count: 1);
fpSpread1.Sheets[1].Charts[0].Model = fpChart1.Model;
チャートシート

シェイプの埋め込み

チャート内にシェイプ(図形)を埋め込むことで、特定のデータポイントや範囲を強調したり、注釈を追加したりすることができます。SPREADでは、四角形や円、矢印などのシェイプを自由に配置可能です。例えば、重要な閾値を示すラインや、特定期間をハイライトする矩形など、視覚的な補助情報を簡単に追加できます。

シェイプの追加は、Chart.Shapesコレクションに新しいShapeオブジェクトを追加することで実現できます。このサンプルでは緑色の矢印シェイプをチャートに追加しています。なお、チャートコントロールではシェイプの埋め込みをサポートしていません。

// チャートにシェイプを追加
GrapeCity.Spreadsheet.Drawing.IShape arrowShape = fpSpread1.AsWorkbook().Charts[0].Shapes.AddShape(GrapeCity.Spreadsheet.Drawing.AutoShapeType.RightArrow, 180, 250, 650, 50);
arrowShape.Fill.BackColor.ObjectThemeColor = GrapeCity.Core.SchemeThemeColors.Accent6;
arrowShape.Line.BackColor.ObjectThemeColor = GrapeCity.Core.SchemeThemeColors.Accent6;
arrowShape.Rotation = -10;
シェイプの埋め込み

さいごに

SPREAD for Windows Forms 17.0Jの新しいチャート機能は、業務アプリケーションにおけるデータ可視化の幅を大きく広げてくれます。特に複数レベルの項目軸ラベルやチャートシートなど、実務で役立つ機能が多数追加されています。これらの機能を活用することで、より分かりやすく説得力のあるグラフ表現が可能になります。

今回紹介したチャート機能を試せるサンプルはこちらです。

Webサイトでは製品の機能を手軽に体験できるデモアプリケーションやトライアル版も公開しておりますので、こちらもご確認ください。

また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。

\  この記事をシェアする  /