本製品では、チャートにデータラベルを挿入して、チャートの情報を視覚化してわかりやすくすることができます。IPointインタフェースとISeriesインタフェースのプロパティとメソッドを使用して、チャートにデータラベルを追加できます。
チャートにデータラベルを設定し、データラベルのテキストをカスタマイズする方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
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} }; // 系列のすべてのデータラベルと特定のデータラベルの書式を設定します IShape shape1 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 50, 300, 300); shape1.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape1.Chart.SeriesCollection[0]; series1.HasDataLabels = true; // series1のすべてのデータラベルの書式を設定します series1.DataLabels.Format.Fill.Color.RGB = Color.Green; series1.DataLabels.Format.Line.Color.RGB = Color.Red; series1.DataLabels.Format.Line.Weight = 3; // series1の特定のデータラベルの書式を設定します series1.DataLabels[2].Format.Fill.Color.RGB = Color.Yellow; series1.Points[2].DataLabel.Format.Line.Color.RGB = Color.Blue; series1.Points[2].DataLabel.Format.Line.Weight = 5; // データレベルのテキストをカスタマイズします IShape shape2 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 550, 50, 300, 300); shape2.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series2 = shape2.Chart.SeriesCollection[0]; series2.HasDataLabels = true; // データレベルのテキストをカスタマイズします series2.DataLabels.ShowCategoryName = true; series2.DataLabels.ShowSeriesName = true; series2.DataLabels.ShowLegendKey = true; |
また、データラベルの方向を横書き、縦書き、右へ90度回転、左へ90度回転に設定できるとともに、半角文字を含む縦書きの場合は、行の並び(「右から左」など)を設定することができます。データラベルの方向を設定するには、IDataLabels/IDataLabel/IDataLabels.ITextFrame/IDataLabel.ITextFrameインターフェースのDirectionプロパティにTextDirection列挙体を設定します。
データラベルの方向を「縦書き(半角文字含む)」かつ行の並びを「左から右」に設定する方法については、次のコード例を参照してください。
C# |
コードのコピー
|
---|---|
// チャートを作成します shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); // 系列 1 にデータラベルを追加します ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; // すべてのデータラベルの方向を設定します series1.DataLabels.Direction = TextDirection.Stacked; // 最初のデータラベルの方向を設定します series1.Points[0].DataLabel.TextFrame.Direction = TextDirection.Vertical; // 2 番目のデータラベルの方向を設定します series1.Points[1].DataLabel.Direction = TextDirection.Vertical; |
IDataLabelインタフェースのOrientationプロパティを使用して、データラベルのテキスト角度を設定することもできます。
データラベルのテキスト角度を設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
// 新しいワークブックを作成します var workbook = new GrapeCity.Documents.Excel.Workbook(); IWorksheet worksheet = workbook.Worksheets[0]; // チャートを追加します IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 250, 20, 360, 230); worksheet.Range["A1:B5"].Value = new object[,] { {null, "S1"}, {"Item1", -20}, {"Item2", 30}, {"Item3", 50 }, {"Item3", 40 } }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:B5"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; // series1のすべてのデータラベルの角度を設定します series1.DataLabels.Orientation = 45; // series1の特定のデータラベルの角度を設定します series1.DataLabels[2].Orientation = -45; // Excelファイルに保存します workbook.Save("configdatalabelangle.xlsx"); |
なお、データラベルの方向と角度は、JSONにエクスポートまたはインポートすることができます。
メモ: Orientationプロパティは、Directionプロパティの値がHorizontalの場合にのみ適用されます。