FlexChart for WinForms
スプライン面
FlexChart > FlexChart の理解 > FlexChart タイプ > スプライン面

スプライン面グラフは、データポイントの接続方法が異なる以外は、面グラフと同じです。スプライン面グラフは、直線ではなくスプラインを使用してデータポイント間を接続し、スプラインで囲まれた領域を塗りつぶします。

2014 年末に、ある国際ビジネス誌が、再販価格に基づいて同年の自動車ランキング報告書を発表しました。再販価格が高いほど、自動車のランキングが上がります。同誌は、2015 年末の報告書で、再販価格に基づく 2015 年の最優秀自動車を発表しました。両方の報告書に共通して掲載された車がいくつかありました。

ここでは、このデータを利用して、2014 年と 2015 年の自動車の再販価格を比較します。

スプライン面グラフを使用してこれを行います。

サンプルデータテーブル

自動車 2014 年の再販価格(%) 2015 年の再販価格(%)
Toyota Tundra 55 52
GMC Canyon 47 49
Chevrolet Silverado 56 50
Ford F-150 69 68
Subaru Forester 67 65
Jeep Wrangler 88 91

スプライン面グラフ

 

上のグラフは、いくつかの自動車の 2014 年と 2015 年の再販価格を比較したものです。

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

' データテーブルを作成します
Dim dt As New DataTable("Resale Value 2014 vs 2015")

' データテーブルに列を追加します
dt.Columns.Add("Automobile", GetType(String))
dt.Columns.Add("Resale Value in 2014", GetType(Integer))
dt.Columns.Add("Resale Value in 2015", GetType(Integer))

' データテーブルに行を追加します
dt.Rows.Add("Toyota Tundra", 55, 52)
dt.Rows.Add("GMC Canyon", 47, 49)
dt.Rows.Add("Chevrolet Silverado", 56, 50)
dt.Rows.Add("Ford F-150", 69, 68)
dt.Rows.Add("Subaru Forester", 67, 65)
dt.Rows.Add("Jeep Wrangler", 88, 91)

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

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

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

' チャートのデータソースを指定します
FlexChart1.DataSource = dt

' X軸を結合します
FlexChart1.BindingX = "Automobile"

' Y軸を結合します
series1.Binding = "Resale Value in 2014"
series2.Binding = "Resale Value in 2015"

' 系列の名前を指定します
series1.Name = "2014"
series2.Name = "2015"

' チャートタイプをスプライン面に設定します
FlexChart1.ChartType = C1.Chart.ChartType.SplineArea
// データテーブルを作成します
DataTable dt = new DataTable("Resale Value 2014 vs 2015");

// データテーブルに列を追加します
dt.Columns.Add("Automobile", typeof(string));
dt.Columns.Add("Resale Value in 2014", typeof(int));
dt.Columns.Add("Resale Value in 2015", typeof(int));

// データテーブルに行を追加します
dt.Rows.Add("Toyota Tundra", 55, 52);
dt.Rows.Add("GMC Canyon", 47, 49);
dt.Rows.Add("Chevrolet Silverado", 56, 50);
dt.Rows.Add("Ford F-150", 69, 68);
dt.Rows.Add("Subaru Forester", 67, 65);
dt.Rows.Add("Jeep Wrangler", 88, 91);

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

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

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

// チャートのデータソースを指定します
flexChart1.DataSource = dt;

// X軸を結合します
flexChart1.BindingX = "Automobile";
            
// Y軸を結合します
series1.Binding = "Resale Value in 2014";
series2.Binding = "Resale Value in 2015";

// 系列の名前を指定します
series1.Name = "2014";
series2.Name = "2015";
           
// チャートタイプをスプライン面に設定します
flexChart1.ChartType = C1.Chart.ChartType.SplineArea;