FlexChart for WinForms
配列からのデータのロード
FlexChart > FlexChart の操作 > データ > データの提供 > 配列からのデータのロード

定義済み配列から FlexChart にデータをロードするには、DataSource プロパティを使用して系列のデータソースを設定します。このプロパティは、任意のオブジェクトのコレクションを受け取ります。

Point 配列を使用して、整数型の X 座標と Y 座標の順序付きペアを 2 次元平面内に設定できます。または、PointF 配列を使用して、浮動型の X 座標と Y 座標の順序付きペアを 2 次元平面内に設定できます。

2 つのフィールドしか使用しないチャートの場合(横棒、縦棒、散布図、折れ線など)、Point/PointF 配列を使用してデータを入力できます。3 つ以上のフィールドを使用するチャート(バブル、ローソク足、HighLowOpenClose など)では、別の方法を選択することもできます。手動でデータテーブルを作成し、その適切なフィールドにチャートの軸を連結します。

Point/PointF などのオブジェクトを使用するほかに、匿名のオブジェクト配列を使用して FlexChart にデータをロードすることもできます。

さらに、double 型の X 配列と Y 配列を受け取る SetData() があります。FlexChart に系列を追加し、SetData() で double 型の X 配列と Y 配列を渡すだけで、データを FlexChart にロードできます。

SetData() を使用して系列にデータを追加する方法については、「系列へのデータの追加」を参照してください。

これらの方法を 1 つ使用して、FlexChart にデータをロードしてみます。

ある大手国際銀行向けに、銀行金融業務およびデータの維持管理用ソフトウェアを作成している IT 企業を考えます。ソフトウェアの作成には、設計 (1)、コーディング (2)、テスト (3) という 3 つの主要な段階があります。これらの段階を遂行するために、同社はオフショア業務とオンサイト業務を行います。

オフショアとは開発者の敷地内で作業することであり、オンサイトは顧客の敷地内で作業することです。

当然ながら、ソフトウェアの工数に関連してオフショア業務とオンサイト業務の間の作業の配分量を分析する必要があります。

以下は、データテーブルです。

作業配分 設計 (1) コーディング (2) テスト (3)
オフショア 100 400 280
オンサイト 80 100 150

オフショア業務とオンサイト業務の作業配分を比較する必要があるため、このシナリオでは縦棒グラフを使用します。

次のコードは、このサンプルの実装です。

' データ系列コレクションをクリアします
FlexChart1.Series.Clear()

' データ系列を作成します
Dim series1 As New C1.Win.Chart.Series()
Dim series2 As New C1.Win.Chart.Series()

' データ系列にデータポイントを追加します
series1.BindingX = "X"
series1.Binding = "Y"
series1.DataSource = New System.Drawing.Point() {
New System.Drawing.Point(1, 100),
New System.Drawing.Point(2, 400),
New System.Drawing.Point(3, 280)}
series1.Name = "沖合"

series2.BindingX = "X"
series2.Binding = "Y"
series2.DataSource = New System.Drawing.Point() {
New System.Drawing.Point(1, 80),
New System.Drawing.Point(2, 100),
New System.Drawing.Point(3, 150)}
series2.Name = "オンサイト"

' データ系列コレクションにデータ系列を追加します
FlexChart1.Series.Add(series1)
FlexChart1.Series.Add(series2)

' チャートタイプを縦棒グラフに設定します
FlexChart1.ChartType = C1.Chart.ChartType.Column
// データ系列コレクションをクリアします
flexChart1.Series.Clear();

// データ系列を作成します
C1.Win.Chart.Series series1 = new C1.Win.Chart.Series();
C1.Win.Chart.Series series2 = new C1.Win.Chart.Series();

// データ系列にデータポイントを追加します
series1.BindingX = "X";
series1.Binding = "Y";
series1.DataSource = new System.Drawing.Point[] { 
new System.Drawing.Point(1,100),
new System.Drawing.Point(2,400),
new System.Drawing.Point(3,280)};
series1.Name = "沖合";

series2.BindingX = "X";
series2.Binding = "Y";
series2.DataSource = new System.Drawing.Point[] { 
new System.Drawing.Point(1,80),
new System.Drawing.Point(2,100),
new System.Drawing.Point(3,150)};
series2.Name = "オンサイト";

// データ系列コレクションにデータ系列を追加します
flexChart1.Series.Add(series1);
flexChart1.Series.Add(series2);

// チャートタイプをカラムチャートに設定します
flexChart1.ChartType = C1.Chart.ChartType.Column;

コードを実行すると、次の出力が表示されます。