TrueChart for WinForms (C1Chart2D)
積層型棒グラフ
2Dグラフ種別 > 棒グラフ > 積層型棒グラフ

積層型棒グラフは、各データセットを積層型棒クラスタの一部として描画します。 各棒は、各データセットの n 個のデータ点の数を表します。Stacked プロパティを True に設定して、円柱、円錐、四角錘グラフ円柱、円錐、四角錘グラフを積み上げることができます。LineStyle プロパティを使用して、各データセットの塗りつぶしプロパティをカスタマイズできます。詳細は、データセットの線とシンボルのスタイル設定を参照してください。

コード例

次の例は、積層型棒グラフを作成します。単に C1Chart コントロールを Visual Studio プロジェクトに追加し、積層型グラフの実行例を表示する次のコードを追加します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ' 既存のデータをクリア
                C1Chart1.ChartGroups(0).ChartData.SeriesList.Clear()
        ' データ
                Dim items As String() = New String() {"Item1", "Item2", "Item3"}
        Dim sales2005 As Integer() = New Integer() {800, 1500, 2000}
        Dim sales2006 As Integer() = New Integer() {1000, 1200, 1400}

        ' 1つめの系列を作成
                Dim ds2005 As C1.Win.C1Chart.ChartDataSeries =
        C1Chart1.ChartGroups(0).ChartData.SeriesList.AddNewSeries()
        ds2005.Label = "2005"
        ds2005.LineStyle.Color = Color.Yellow
        ds2005.X.CopyDataIn(items)
        ds2005.Y.CopyDataIn(sales2005)

        ' 2つめの系列を作成
                Dim ds2006 As C1.Win.C1Chart.ChartDataSeries =
        C1Chart1.ChartGroups(0).ChartData.SeriesList.AddNewSeries()
        ds2006.Label = "2006"
        ds2006.LineStyle.Color = Color.Red
        ds2006.AutoEnumerate = True
        ds2006.Y.CopyDataIn(sales2006)

        ' グラフタイプを設定
                C1Chart1.ChartGroups(0).ChartType = C1.Win.C1Chart.Chart2DTypeEnum.Bar
        C1Chart1.ChartGroups(0).Stacked = True

        ' y 軸の最小値を設定
                C1Chart1.ChartArea.AxisY.Min = 0
        C1Chart1.Legend.Visible = True

        ' 軸のキャプションを削除
                C1Chart1.ChartArea.AxisX.Text = ""
        C1Chart1.ChartArea.AxisY.Text = ""
End Sub

C# コードの書き方

C#
コードのコピー
private void Form1_Load(object sender, EventArgs e)
{
        // 既存のデータをクリア
                c1Chart1.ChartGroups[0].ChartData.SeriesList.Clear();
        // データ
                string[] items = new string[] { "Item1", "Item2", "Item3"};
        int[] sales2005 = new int[] { 800, 1500, 2000};
        int[] sales2006 = new int[] { 1000, 1200, 1400};

        // 1つめの系列を作成
                C1.Win.C1Chart.ChartDataSeries ds2005 =
        c1Chart1.ChartGroups[0].ChartData.SeriesList.AddNewSeries();
        ds2005.Label = "2005";
        ds2005.LineStyle.Color = Color.Yellow;
        ds2005.X.CopyDataIn( items);
        ds2005.Y.CopyDataIn( sales2005);

        // 2つめの系列を作成
                C1.Win.C1Chart.ChartDataSeries ds2006 =
        c1Chart1.ChartGroups[0].ChartData.SeriesList.AddNewSeries();
        ds2006.Label = "2006";
        ds2006.LineStyle.Color = Color.Red;
        ds2006.AutoEnumerate = true;
        ds2006.Y.CopyDataIn( sales2006);

        // グラフタイプを設定
                c1Chart1.ChartGroups[0].ChartType = C1.Win.C1Chart.Chart2DTypeEnum.Bar;
        c1Chart1.ChartGroups[0].Stacked = true;

        // y 軸の最小値を設定
                c1Chart1.ChartArea.AxisY.Min = 0;

        c1Chart1.Legend.Visible = true;

        // 軸のキャプションを削除
                c1Chart1.ChartArea.AxisX.Text = "";
        c1Chart1.ChartArea.AxisY.Text = "";
}

上のコード例は以下のグラフを生成します。


関連トピック