ActiveReports for .NET 18.0J
凡例
ActiveReportsユーザーガイド > 概念 > セクションレポートの概念 > グラフ > グラフの外観 > グラフ要素 > 凡例

Chartコントロールは、設計時にグラフに追加された各系列のLegendプロパティを設定し、凡例を自動的に作成します。ただし、グラフで凡例を表示するには、凡例のVisibleプロパティを「True」に設定する必要があります。凡例のキャプションは系列のNameプロパティに設定した値が反映されます。

注意: 凡例に表示される各系列は、名前を持っている必要があります。Nameプロパティを設定していない場合、系列は凡例に表示されません。
 

以下のサンプルコードは、実行時に凡例を作成し、それをChartControlオブジェクトのLegendプロパティに追加して、作成した新しい凡例を系列のLegendプロパティに設定し、上の図のような凡例を生成する方法を示します。

Visual Basic

Visual Basicコード
コードのコピー

' 凡例とタイトルを生成します。
Dim legend1 As New GrapeCity.ActiveReports.Chart.Legend
Dim lHeader As New GrapeCity.ActiveReports.Chart.Title

' タイトルのプロパティを設定します。
lHeader.Backdrop = New GrapeCity.ActiveReports.Chart.Graphics.Backdrop(Chart.Graphics.BackdropStyle.Transparent, _
    Color.White, Color.White, Chart.Graphics.GradientType.Vertical, Drawing2D.HatchStyle.DottedGrid, Nothing, _
    Chart.Graphics.PicturePutStyle.Stretched)
lHeader.Border = New GrapeCity.ActiveReports.Chart.Border(New Chart.Graphics.Line(Color.White, 2, _
    Chart.Graphics.LineStyle.None), 0, Color.Black)
lHeader.Font = New GrapeCity.ActiveReports.Chart.FontInfo(Color.White, New System.Drawing.Font("Arial", 10.0F, _
    FontStyle.Bold))
lHeader.Text = "Series:"

' 凡例のプロパティを設定し、それを凡例コレクションに追加します。
legend1.Alignment = GrapeCity.ActiveReports.Chart.Alignment.TopRight
legend1.Backdrop = New GrapeCity.ActiveReports.Chart.BackdropItem(Chart.Graphics.BackdropStyle.Transparent, _
    Color.Gray, Color.White, Chart.Graphics.GradientType.Vertical, Drawing2D.HatchStyle.DottedGrid, Nothing, _
    Chart.Graphics.PicturePutStyle.Stretched)
legend1.Border = New GrapeCity.ActiveReports.Chart.Border(New Chart.Graphics.Line(Color.Navy, 2), _
    0, Color.Black)
legend1.DockArea = Me.ChartControl1.ChartAreas(0)
legend1.LabelsFont = New GrapeCity.ActiveReports.Chart.FontInfo(Color.White, New System.Drawing.Font("Arial", 9.0F))
legend1.Header = lHeader
legend1.MarginX = 5
legend1.MarginY = 5
Me.ChartControl1.Legends.Add(legend1)

' 凡例項目を生成します。
Dim legenditem As New GrapeCity.ActiveReports.Chart.LegendItem
Dim legenditem2 As New GrapeCity.ActiveReports.Chart.LegendItem

' 凡例項目のプロパティを設定します。
legenditem.Text = "High Range"
legenditem2.Text = "Low Range"
legenditem.Marker.Style = Chart.MarkerStyle.None
legenditem2.Marker.Style = Chart.MarkerStyle.None
legenditem.Border.Line.Style = Chart.Graphics.LineStyle.None
legenditem2.Border.Line.Style = Chart.Graphics.LineStyle.None
legenditem.Backdrop = New GrapeCity.ActiveReports.Chart.BackdropItem(System.Drawing.Color.LightSteelBlue, _
    Chart.Graphics.AntiAliasMode.Auto)
legenditem2.Backdrop = New GrapeCity.ActiveReports.Chart.BackdropItem(System.Drawing.Color.LightGray, _
    Chart.Graphics.AntiAliasMode.Auto)

' 凡例コレクションへ追加します。
legend1.LegendItems.Add(legenditem)
legend1.LegendItems.Add(legenditem2)

' 作成した凡例をデータセットの凡例プロパティに設定します。
Me.ChartControl1.Series(0).Legend = legend1
Me.ChartControl1.Series(1).Legend = legend1
Me.ChartControl1.Series(2).Legend = legend1

C#

C#コード
コードのコピー

// 凡例とタイトルを生成します。
GrapeCity.ActiveReports.Chart.Legend legend1 = new GrapeCity.ActiveReports.Chart.Legend();
GrapeCity.ActiveReports.Chart.Title lHeader = new GrapeCity.ActiveReports.Chart.Title();

// タイトルのプロパティを設定します。
lHeader.Backdrop = new GrapeCity.ActiveReports.Chart.Graphics.Backdrop(GrapeCity.ActiveReports.
    Chart.Graphics.BackdropStyle.Transparent,System.Drawing.Color.White,System.Drawing.Color.White,
    GrapeCity.ActiveReports.Chart.Graphics.GradientType.Vertical,
    System.Drawing.Drawing2D.HatchStyle.DottedGrid, null, GrapeCity.ActiveReports.Chart.Graphics.PicturePutStyle.Stretched);

lHeader.Border = new GrapeCity.ActiveReports.Chart.Border(new GrapeCity.ActiveReports.Chart.
    Graphics.Line(System.Drawing.Color.White, 2, GrapeCity.ActiveReports.Chart.Graphics.LineStyle.None),
    0, System.Drawing.Color.Black);

lHeader.Font = new GrapeCity.ActiveReports.Chart.FontInfo(System.Drawing.Color.White,
    new System.Drawing.Font("Arial", 10.0F, System.Drawing.FontStyle.Bold));
lHeader.Text = "Series:";

// 凡例のプロパティを設定し、それを凡例コレクションに追加します。
legend1.Alignment = GrapeCity.ActiveReports.Chart.Alignment.TopRight;
legend1.Backdrop = new GrapeCity.ActiveReports.Chart.BackdropItem(
    GrapeCity.ActiveReports.Chart.Graphics.BackdropStyle.Transparent, System.Drawing.Color.Gray,
    System.Drawing.Color.White, GrapeCity.ActiveReports.Chart.Graphics.GradientType.Vertical,
    System.Drawing.Drawing2D.HatchStyle.DottedGrid, null, GrapeCity.ActiveReports.Chart.Graphics.PicturePutStyle.Stretched);

legend1.Border = new GrapeCity.ActiveReports.Chart.Border(
    new GrapeCity.ActiveReports.Chart.Graphics.Line(System.Drawing.Color.Navy, 2),0, System.Drawing.Color.Black);
legend1.DockArea = this.chartControl1.ChartAreas[0];
legend1.LabelsFont = new GrapeCity.ActiveReports.Chart.FontInfo(
    System.Drawing.Color.White, new System.Drawing.Font("Arial", 9F));
legend1.Header = lHeader;
legend1.MarginX = 5;
legend1.MarginY = 5;
this.chartControl1.Legends.Add(legend1);

// 凡例項目を生成します。
GrapeCity.ActiveReports.Chart.LegendItem legenditem = new GrapeCity.ActiveReports.Chart.LegendItem();
GrapeCity.ActiveReports.Chart.LegendItem legenditem2 = new GrapeCity.ActiveReports.Chart.LegendItem();

// 凡例項目のプロパティを設定します。
legenditem.Text = "High Range";
legenditem2.Text = "Low Range";
legenditem.Marker.Style = GrapeCity.ActiveReports.Chart.MarkerStyle.None;
legenditem2.Marker.Style = GrapeCity.ActiveReports.Chart.MarkerStyle.None;
legenditem.Border.Line.Style = GrapeCity.ActiveReports.Chart.Graphics.LineStyle.None;
legenditem2.Border.Line.Style = GrapeCity.ActiveReports.Chart.Graphics.LineStyle.None;
legenditem.Backdrop = new GrapeCity.ActiveReports.Chart.BackdropItem(
    System.Drawing.Color.LightSteelBlue, GrapeCity.ActiveReports.Chart.Graphics.AntiAliasMode.Auto);
legenditem2.Backdrop = new GrapeCity.ActiveReports.Chart.BackdropItem(
    System.Drawing.Color.LightGray, GrapeCity.ActiveReports.Chart.Graphics.AntiAliasMode.Auto);

// 凡例コレクションへ追加します。
legend1.LegendItems.Add(legenditem);
legend1.LegendItems.Add(legenditem2);

// 作成した凡例をデータセットの凡例プロパティに設定します。
this.chartControl1.Series[0].Legend = legend1;
this.chartControl1.Series[1].Legend = legend1;
this.chartControl1.Series[2].Legend = legend1;