DioDocs for Excel
DioDocs for Excel
系列
機能 > チャート > チャートオブジェクトのカスタマイズ > 系列

系列は、チャート内にプロットされるデータポイントの集合または単純な値リストです。

スプレッドシートでは、チャートの作成時に 1 つ以上のデータ系列をプロットできます。各系列は、凡例内の 1 つの項目によって表され、チャートコントロールの系列オブジェクトコレクションへのアクセスを提供します。

DioDocs for Excel では、SeriesCollection を使用してチャート系列を作成できます。ISeriesインタフェースとISeriesCollectionインタフェースのプロパティとメソッドを使用して、必要に応じて個別の系列の追加、アクセス、削除などの便利な操作を実行できます。

チャートに系列を追加する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
   //チャートを追加します 
IShape shape1 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 50, 300, 300);
worksheet.Range["A1:D6"].Value = new object[,]
 {
   {null, "S1", "S2", "S3"},
   {"Item1", 10, 25, 25},
   {"Item2", 51, 36, 27},
   {"Item3", 52, 85, 30},
   {"Item4", 22, 65, 65},
   {"Item5", 23, 69, 69}
};

   //B2:B6, C2:C6, D2:D6の3つの系列を検出します
   //系列ラベルとカテゴリラベルを検出せず、自動生成されます
   shape1.Chart.SeriesCollection.Add(worksheet.Range["B2:D6"]);

   IShape shape2 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 550, 50, 300, 300);
   //B2:B6, C2:C6, D2:D6の3つの系列を検出します
   //系列ラベルとカテゴリラベルを検出します
   //系列ラベルは 「S1」、「S2」、「S3」です
   //カテゴリラベルは、「Item1」、「Item2」、「Item3」、「Item4」、「Item5」です
   shape2.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"]);

   IShape shape3 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 450, 300, 300);
   //B2:D2, B3:C3, B4:C4, B5:C5, B6:C6の5つの系列を検出します。
   //系列ラベルとカテゴリラベルを検出せず、自動生成されます
   shape3.Chart.SeriesCollection.Add(worksheet.Range["B2:D6"], RowCol.Rows);

   IShape shape4 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 550, 450, 300, 300);
   //B2:B6, C2:C6, D2:D6の3つの系列を検出します
   //系列ラベルとカテゴリラベルを検出せず、自動生成されます
   shape4.Chart.SeriesCollection.Add(worksheet.Range["B2:D6"], RowCol.Columns);

   IShape shape5 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 850, 450, 300, 300);
   //B2:B6, C2:C6, D2:D6の3つの系列を検出します
   //系列ラベルとカテゴリラベルを検出します
   //系列ラベルは 「S1」、「S2」、「S3」です
   //カテゴリラベルは、「Item1」、「Item2」、「Item3」、「Item4」、「Item5」です
   shape5.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns);

   IShape shape6 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 750, 300, 300);
   //B2:B6, C2:C6, D2:D6の3つの系列を検出します
   //系列ラベルとカテゴリラベルを検出します
   //系列ラベルは 「S1」、「S2」、「S3」です
   //カテゴリラベルは、「Item1」、「Item2」、「Item3」、「Item4」、「Item5」です
   shape6.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);

   workbook.Worksheets.Add();
   IWorksheet worksheet1 = workbook.Worksheets[1];
   worksheet1.Range["A1:D6"].Value = new object[,]
 {
   {null, "S1", "S2", "S3"},
   {"Item1", 10, 25, 25},
   {"Item2", -51, -36, 27},
   {"Item3", 52, -85, -30},
   {"Item4", 22, 65, 65},
   {"Item5", 23, 69, 69}
 };

   //ISeriesCollection.NewSeries()を使用して系列を追加します
   IShape shape7 = worksheet1.Shapes.AddChart(ChartType.ColumnClustered, 200, 50, 300, 300);
   ISeries series1 = shape7.Chart.SeriesCollection.NewSeries();
   ISeries series2 = shape7.Chart.SeriesCollection.NewSeries();
   ISeries series3 = shape7.Chart.SeriesCollection.NewSeries();
   series1.Formula = "=SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$6,Sheet1!$B$2:$B$6,1)";
   series2.Formula = "=SERIES(Sheet1!$C$1,Sheet1!$A$2:$A$6,Sheet1!$C$2:$C$6,2)";
   series3.Formula = "=SERIES(Sheet1!$D$1,Sheet1!$A$2:$A$6,Sheet1!$D$2:$D$6,3)";

   //ISeriesCollection.Extend(IRange source、RowCol rowcol、bool categoryLabels)を使用して、新しいデータポイントを既存の系列に追加します
   IShape shape8 = worksheet1.Shapes.AddChart(ChartType.ColumnClustered, 200, 450, 300, 300);
   shape8.Chart.SeriesCollection.Add(worksheet1.Range["A1:D6"], RowCol.Columns, true, true);
   worksheet1.Range["A12:D14"].Value = new object[,]
   {
       {"Item6", 50, 20, -30},
       {"Item7", 60, 50, 50},
       {"Item8", 35, 80, 60}
   };
   shape8.Chart.SeriesCollection.Extend(worksheet1.Range["A12:D14"], RowCol.Columns, true);

   workbook.Worksheets.Add();
   IWorksheet worksheet2 = workbook.Worksheets[2];
   worksheet2.Range["A1:D6"].Value = new object[,]
  {
       {null, "S1", "S2", "S3"},
       {"Item1", 10, 25, 25},
       {"Item2", -51, -36, 27},
       {"Item3", 52, -85, -30},
       {"Item4", 22, 65, 65},
       {"Item5", 23, 69, 69}
  };

   //折れ線チャートを作成し、1つの系列のAxisGroupを変更し、別の系列のチャートの種類を変更します
   IShape shape9 = worksheet2.Shapes.AddChart(ChartType.Line, 200, 50, 300, 300);
   shape9.Chart.SeriesCollection.Add(worksheet2.Range["A1:D6"], RowCol.Columns, true, true);
   ISeries series4 = shape9.Chart.SeriesCollection[0];
   ISeries series5 = shape9.Chart.SeriesCollection[1];
   series4.AxisGroup = AxisGroup.Secondary;
   series5.ChartType = ChartType.ColumnClustered;

   //3D縦棒チャートの棒の図形を設定します
   IShape shape10 = worksheet2.Shapes.AddChart(ChartType.Column3D, 200, 450, 300, 300);
   shape10.Chart.SeriesCollection.Add(worksheet2.Range["A1:D6"], RowCol.Columns, true, true);
   ISeries series6 = shape10.Chart.SeriesCollection[0];
   ISeries series7 = shape10.Chart.SeriesCollection[1];
   ISeries series8 = shape10.Chart.SeriesCollection[2];
   series6.BarShape = BarShape.ConeToMax;
   series7.BarShape = BarShape.Cylinder;
   series8.BarShape = BarShape.PyramidToPoint;

   //負の点の塗りつぶし色を設定します
   IShape shape11 = worksheet2.Shapes.AddChart(ChartType.Column3D, 200, 800, 300, 300);
   shape11.Chart.SeriesCollection.Add(worksheet2.Range["A1:D6"], RowCol.Columns, true, true);
   ISeries series9 = shape11.Chart.SeriesCollection[0];
   series9.InvertIfNegative = true;
   //エスカレートされる問題
   series9.InvertColor.RGB = Color.DarkOrange;

   //系列のプロット順序を6に設定します
   IShape shape12 = worksheet2.Shapes.AddChart(ChartType.ColumnClustered, 200, 1100, 300, 300);
   worksheet.Range["A1:E6"].Value = new object[,]
   {
   {null, "S1", "S2", "S3", "S4"},
   {"Item1", 10, 25, 25, 30},
   {"Item2", -51, -36, 27, 35},
   {"Item3", 52, -85, -30, 40},
   {"Item4", 22, 65, 65, 45},
   {"Item5", 23, 69, 69, 50}
   };
   shape12.Chart.SeriesCollection.Add(worksheet2.Range["A1:E6"], RowCol.Columns, true, true);

   ISeries series10 = shape12.Chart.SeriesCollection[0];
   ISeries series11 = shape12.Chart.SeriesCollection[1];
   ISeries series12 = shape12.Chart.SeriesCollection[2];
   ISeries series13 = shape12.Chart.SeriesCollection[3];

   //series11とseries13はセカンダリ軸にプロットします
   series11.AxisGroup = AxisGroup.Secondary;
   series13.AxisGroup = AxisGroup.Secondary;

   //series10とseries12は1つのチャートグループにあります
   series12.PlotOrder = 1;
   series10.PlotOrder = 2;

   //series4とseries2は1つのチャートグループにあります
   series13.PlotOrder = 1;
   series11.PlotOrder = 2;

   //系列のマーカーを構成します
   IShape shape13 = worksheet2.Shapes.AddChart(ChartType.Line, 200, 1450, 300, 300);
   shape13.Chart.SeriesCollection.Add(worksheet2.Range["A1:D6"], RowCol.Columns, true, true);

   ISeries series14 = shape13.Chart.SeriesCollection[0];

   series14.MarkerStyle = MarkerStyle.Diamond;
   series14.MarkerSize = 10;
   series14.MarkerFormat.Fill.Color.RGB = Color.Red;
   series14.MarkerFormat.Line.Style = LineStyle.ThickThin;
   series14.MarkerFormat.Line.Color.RGB = Color.Green;
   series14.MarkerFormat.Line.Weight = 3;