C＃PPT積み上げ縦棒グラフを作成する

積み上げ縦棒グラフは、1つの項目と全体の関係を示し、各カテゴリの各値の合計値を比較し、その値を2次元の縦積み四角形で表示します。 積み上げ縦棒グラフは、複数のデータ系列があり、合計値を強調したい場合に使用できます。 この記事では、C＃を使用してPPT積み上げ縦棒グラフを作成する方法について説明します。
使用する必要のあるツール：[Spire.Presentation for .NET](https://www.e-iceblue.com/Introduce/presentation-for-net-introduce.html)
【C#】


```ruby:Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Presentation;
using System.Drawing;
using Spire.Presentation.Charts;


namespace Columnstacked_Chart2
{
    class Program
    {
        static void Main(string[] args)
        {
            //PowerPointドキュメントを作成する
            Presentation presentation = new Presentation();

            //積み上げ縦棒グラフを挿入する
            RectangleF rect = new RectangleF(0, 50, 650, 500);
            IChart chart = presentation.Slides[0].Shapes.AppendChart(ChartType.ColumnStacked, rect, false);

            //グラフデータテーブルにデータを書き込む
            chart.ChartData[0, 1].Text = "直接アクセス";
            chart.ChartData[0, 2].Text = "メールマーケティング";
            chart.ChartData[0, 3].Text = "アライアンス広告";
            chart.ChartData[0, 4].Text = "動画広告";
            chart.ChartData[0, 5].Text = "検索エンジン";
            chart.ChartData[0, 6].Text = "Baidu";
            chart.ChartData[0, 7].Text = "Google";
            chart.ChartData[0, 8].Text = "ビング";
            chart.ChartData[0, 9].Text = "その他";

            //入力データ
            chart.ChartData[1, 0].Text = "月曜日";
            chart.ChartData[6, 0].Text = "火曜日";
            chart.ChartData[11, 0].Text = "水曜日";
            chart.ChartData[16, 0].Text = "木曜日";
            chart.ChartData[21, 0].Text = "金曜日";
            chart.ChartData[26, 0].Text = "土曜日";
            chart.ChartData[31, 0].Text = "日曜日";

            //各シリーズの値を入力してください
            chart.ChartData[1, 1].Value = 320;
            chart.ChartData[6, 1].Value = 332;
            chart.ChartData[11, 1].Value = 301;
            chart.ChartData[16, 1].Value = 334;
            chart.ChartData[21, 1].Value = 390;
            chart.ChartData[26, 1].Value = 330;
            chart.ChartData[31, 1].Value = 320;

            //シリーズ数2
            chart.ChartData[2, 2].Value = 120;
            chart.ChartData[7, 2].Value = 132;
            chart.ChartData[12, 2].Value = 101;
            chart.ChartData[17, 2].Value = 134;
            chart.ChartData[22, 2].Value = 90;
            chart.ChartData[27, 2].Value = 230;
            chart.ChartData[32, 2].Value = 210;

            //シリーズ数3
            chart.ChartData[2, 3].Value = 220;
            chart.ChartData[7, 3].Value = 182;
            chart.ChartData[12, 3].Value = 191;
            chart.ChartData[17, 3].Value = 234;
            chart.ChartData[22, 3].Value = 290;
            chart.ChartData[27, 3].Value = 330;
            chart.ChartData[32, 3].Value = 310;

            //シリーズ数4
            chart.ChartData[2, 4].Value = 150;
            chart.ChartData[7, 4].Value = 232;
            chart.ChartData[12, 4].Value = 201;
            chart.ChartData[17, 4].Value = 154;
            chart.ChartData[22, 4].Value = 190;
            chart.ChartData[27, 4].Value = 330;
            chart.ChartData[32, 4].Value = 410;

            //シリーズ数5
            chart.ChartData[3, 5].Value = 862;
            chart.ChartData[8, 5].Value = 1018;
            chart.ChartData[13, 5].Value = 964;
            chart.ChartData[18, 5].Value = 1026;
            chart.ChartData[23, 5].Value = 1679;
            chart.ChartData[28, 5].Value = 1600;
            chart.ChartData[33, 5].Value = 1570;

            //シリーズ数6
            chart.ChartData[4, 6].Value = 620;
            chart.ChartData[9, 6].Value = 732;
            chart.ChartData[14, 6].Value = 701;
            chart.ChartData[19, 6].Value = 734;
            chart.ChartData[24, 6].Value = 1090;
            chart.ChartData[29, 6].Value = 1130;
            chart.ChartData[34, 6].Value = 1120;

            //シリーズ数7
            chart.ChartData[4, 7].Value = 120;
            chart.ChartData[9, 7].Value = 132;
            chart.ChartData[14, 7].Value = 101;
            chart.ChartData[19, 7].Value = 134;
            chart.ChartData[24, 7].Value = 290;
            chart.ChartData[29, 7].Value = 230;
            chart.ChartData[34, 7].Value = 220;

            //シリーズ数8
            chart.ChartData[4, 8].Value = 60;
            chart.ChartData[9, 8].Value = 72;
            chart.ChartData[14, 8].Value = 71;
            chart.ChartData[19, 8].Value = 74;
            chart.ChartData[24, 8].Value = 190;
            chart.ChartData[29, 8].Value = 130;
            chart.ChartData[34, 8].Value = 110;

            //シリーズ数9
            chart.ChartData[4, 9].Value = 62;
            chart.ChartData[9, 9].Value = 82;
            chart.ChartData[14, 9].Value = 91;
            chart.ChartData[19, 9].Value = 84;
            chart.ChartData[24, 9].Value = 109;
            chart.ChartData[29, 9].Value = 110;
            chart.ChartData[34, 9].Value = 120;

            //分類ラベルを設定する
            chart.Categories.CategoryLabels = chart.ChartData["A1", "A35"];

            //設定例
            chart.ChartLegend.Position = ChartLegendPositionType.Top;

            //シリーズラベルを設定する
            chart.Series.SeriesLabel = chart.ChartData["B1", "J1"];

            //个々系列赋値
            chart.Series[0].Values = chart.ChartData["B2", "B35"];
            chart.Series[1].Values = chart.ChartData["C2", "C35"];
            chart.Series[2].Values = chart.ChartData["D2", "D35"];
            chart.Series[3].Values = chart.ChartData["E2", "E35"];
            chart.Series[4].Values = chart.ChartData["F2", "F35"];
            chart.Series[5].Values = chart.ChartData["G2", "G35"];
            chart.Series[6].Values = chart.ChartData["H2", "H35"];
            chart.Series[7].Values = chart.ChartData["I2", "I35"];
            chart.Series[8].Values = chart.ChartData["J2", "J35"];

            //保存資料
            presentation.SaveToFile("積み上げ縦棒グラフ.pptx", FileFormat.Pptx2007);
        }
    }
}

```
调试并行代码後、生成的結果图様下圖所表示：
![1.jpg](https://qiita-image-store.s3.amazonaws.com/0/278784/f91db29c-cad8-6767-a622-efe941e7a97f.jpeg)