系列は、チャート内にプロットされるデータポイントの集合または単純な値リストです。
スプレッドシートでは、チャートの作成時に 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; |