FlexChart for WinForms
複合
FlexChart > FlexChart の理解 > FlexChart タイプ > 複合

FlexChart では、主に次の 2 つの利点がある複合チャートを作成できます。

次の図に、棒グラフと折れ線グラフ(シンボル付き)のチャートタイプを組み合わせた複合チャートを示します。このチャートでは、シリンダー容積、エンジン排気量、トランスミッション速度の 3 つのパラメータに基づいて、5 つの自動車を比較します。

次のコードは、「クイックスタート」サンプルで使用されるデータソースを使用して、2 つの系列 Cyl および Liter にデータを提供します。また、別のデータソースを使用して、Transmission Speed 系列にデータを提供します。

' データテーブルを作成します。
Dim dt1 As New DataTable()

' データソースからデータを取得します。
Dim conPath As String = "Provider=Microsoft.Jet.OLEDB.4.0;" &
    vbCr &
    vbLf &
    "Data Source=C:\\Users\\GPCTAdmin\\Documents\\ComponentOne Samples\\Common\\C1NWind.mdb"
Dim conQuery As String = "SELECT * FROM Cars WHERE Brand = 'BMW' OR Brand = 'Acura'"

' データアダプタを作成します。
Dim da As New OleDbDataAdapter(conQuery, conPath)

' データテーブルを入力します(グラフのデータソース)。
da.Fill(dt1)

' 別のデータテーブルを作成します(単一の系列のデータソース)。
Dim dt As New DataTable()

' データテーブルに列を追加します。
dt.Columns.Add("Cars", GetType(Integer))
dt.Columns.Add("TransmissionSpeed", GetType(Integer))

' データテーブルに行を追加します。
dt.Rows.Add(1, 3)
dt.Rows.Add(2, 6)
dt.Rows.Add(3, 3)
dt.Rows.Add(4, 2)
dt.Rows.Add(5, 3)

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

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

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

' 系列の名前
series1.Name = "Cyl"
series2.Name = "Liter"
series3.Name = "Transmission Speed"

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

' 系列の別のデータソースを指定します。
series3.DataSource = dt

' チャートのX軸をバインドします。
FlexChart1.BindingX = "Model"

' それぞれのフィールドに系列をバインドします。
series1.Binding = "Cyl"
series2.Binding = "Liter"
series3.Binding = "TransmissionSpeed"

' 全体チャートのチャートタイプを設定します。
FlexChart1.ChartType = C1.Chart.ChartType.Column

' 系列に異なるチャートタイプを設定します。
series3.ChartType = C1.Chart.ChartType.LineSymbols
// データテーブルを作成します。
DataTable dt1 = new DataTable();

// データソースからデータを取得します。
string conPath = @"Provider=Microsoft.Jet.OLEDB.4.0;
    Data Source=C:\Users\GPCTAdmin\Documents\ComponentOne Samples\Common\C1NWind.mdb";
string conQuery = "SELECT * FROM Cars WHERE Brand = 'BMW' OR Brand = 'Acura'";

// データアダプタを作成します。
OleDbDataAdapter da = new OleDbDataAdapter(conQuery, conPath);

// データテーブルを入力します(グラフのデータソース)。
da.Fill(dt1);

// 別のデータテーブルを作成します(単一の系列のデータソース)。
DataTable dt = new DataTable();

// データテーブルに列を追加します。
dt.Columns.Add("Cars", typeof(int));
dt.Columns.Add("TransmissionSpeed", typeof(int));

// データテーブルに行を追加します。
dt.Rows.Add(1, 3);
dt.Rows.Add(2, 6);
dt.Rows.Add(3, 3);
dt.Rows.Add(4, 2);
dt.Rows.Add(5, 3);

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

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

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

// 系列の名前
series1.Name = "Cyl";
series2.Name = "Liter";
series3.Name = "Transmission Speed";

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

// 系列の別のデータソースを指定します。
series3.DataSource = dt;

// チャートのX軸をバインドします。
flexChart1.BindingX = "Model";

// それぞれのフィールドに系列をバインドします。
series1.Binding = "Cyl";
series2.Binding = "Liter";
series3.Binding = "TransmissionSpeed";

// 全体チャートのチャートタイプを設定します。
flexChart1.ChartType = C1.Chart.ChartType.Column;

// 系列に異なるチャートタイプを設定します。
series3.ChartType = C1.Chart.ChartType.LineSymbols;
関連トピック