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

チャート化されたデータを迅速に解釈して理解するために、チャートの作成が完了すると、自動的にスプレッドシートに凡例(視覚的なチャート要素)が表示されます。

凡例は、キーとも呼ばれ、チャートにプロットされるグラフィックデータと関連付けられます。通常は、チャートの右側に配置されます。広い視点から見ると、凡例は、エンドユーザーがスプレッドシート内の各データグループを表す系列や系列ポイントを容易に識別できるように助けます。

通常は、特定の系列に属するデータポイントを特定できるように、凡例には系列名が図示されます。データに対応してワークシートに表示される各凡例エントリには、凡例マーカーとマーカーを識別するための凡例テキストも一緒に表示できます。

DioDocs for Excel では、ILegendインタフェースと IChartインタフェースのプロパティとメソッドを使用して、必要に応じて凡例テキストをカスタマイズしたり、凡例の位置とレイアウトを構成したり、凡例エントリのフォントスタイルを再設定したり、凡例やエントリを削除することができます。 

チャートで便利な凡例設定を構成する方法については、次のサンプルコードを参照してください。

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 shape = worksheet.Shapes.AddChart(ChartType.Column3D, 200, 50, 300, 300);
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);
shape.Chart.HasLegend = true;
ILegend legend = shape.Chart.Legend;
//位置
legend.Position = LegendPosition.Left;
//フォント
legend.Font.Color.RGB = Color.Red;
legend.Font.Italic = true;
//書式
legend.Format.Fill.Color.RGB = Color.Pink;
legend.Format.Line.Color.RGB = Color.Blue;

//凡例エントリのフォントスタイルを構成します                    
ILegendEntry legendentry = legend.LegendEntries[0];
legendentry.Font.Size = 20;
legendentry.Font.Italic = true;

チャートから凡例または特定の凡例エントリを削除する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
           
//凡例を削除します
IShape shape1 = worksheet.Shapes.AddChart(ChartType.Column3D, 200, 450, 300, 300);
shape1.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);
shape1.Chart.HasLegend = true;
ILegend legend1 = shape1.Chart.Legend;
legend1.Delete();

//凡例エントリを削除します
IShape shape2 = worksheet.Shapes.AddChart(ChartType.Column3D, 200, 800, 300, 300);
shape2.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);
shape2.Chart.HasLegend = true;
ILegend legend2 = shape2.Chart.Legend;
ILegendEntry legendentry2 = legend2.LegendEntries[0];
legendentry2.Delete();