Set the chart area where a legend will be docked
The Chart class serves as the root class of the Chart control. The Chart class exposes all of the properties, methods, and events of the Chart Web server control.
The Chart Series collection property stores Series objects which are used to store data that is to be displayed, along with attributes of that data. The Chart ChartAreas collection property stores ChartArea objects, which are primarily used to draw one or more charts using one set of axes.
The following asp.net c# web development tutorial code demonstrates how we can set the ChartArea where a specified legend will be docked. Here we will use the Chart class Legends property to get the legend collection. Then we will get the specified legend instance by its id. And then we will set the chart area where the legend will be docked by setting the Legend class DockedToChartArea property value.
The Chart Legends property gets or sets a LegendCollection object that is used to store all Legend objects used by the Chart control. This property value is a LegendCollection that is used to store all Legend objects. This Chart collection property stores all Legend objects used by the Chart control.
The Legend class represents the legend for the chart image. The Legend class encapsulates all the functionality of the Chart control's legend and is exposed using the Legends collection property of the root Chart object. In a Chart object can be any number of legends for a chart image.
The ChartArea class represents a chart area on the chart image. The chart area is the rectangular area that encompasses the plot position, the tick marks, the axis labels, and the axis titles on the chart.
The Legend class DockedToChartArea property gets or sets the name of the ChartArea where the legend will be docked. This property value is a String which represents the name of the ChartArea where this legend will be docked. The default value of this property is the empty string.
ChartLegendDockedToChartArea.aspx
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html>
<script runat="server">
protected void Button1_Click(object sender, System.EventArgs e)
{
Chart1.Legends["Legend1"].DockedToChartArea = "DefaultChartArea";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>How to use DockedToChartArea to show Chart Legend in specific ChartArea in asp.net</title>
<style type="text/css">
h2
{
color:DarkBlue;
font-style:italic;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2>Chart example and tutorial: How to show<br /> Chart Legend in specific ChartArea in asp.net</h2>
<hr width="625" align="left" color="LightBlue" />
<br />
<asp:Chart
ID="Chart1"
runat="server"
Width="625"
BackColor="SkyBlue"
BorderlineColor="SteelBlue"
BorderlineDashStyle="Dash"
BorderlineWidth="2"
>
<Legends>
<asp:Legend
Name="Legend1"
BackColor="OliveDrab"
BackGradientStyle="DiagonalRight"
ForeColor="Snow"
BackSecondaryColor="YellowGreen"
BorderColor="LawnGreen"
>
</asp:Legend>
</Legends>
<Series>
<asp:Series
Name="NokiaPhone"
YValueType="Double"
ChartArea="DefaultChartArea"
ChartType="Pie"
Palette="SemiTransparent"
>
<Points>
<asp:DataPoint AxisLabel="Nokia N8" YValues="549" />
<asp:DataPoint AxisLabel="Nokia N97 mini" YValues="379.99" />
<asp:DataPoint AxisLabel="X6 16GB Driver Edition" YValues="329" />
<asp:DataPoint AxisLabel="Nokia C6" YValues="309" />
</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea
Name="DefaultChartArea"
BorderDashStyle="Dot"
BorderWidth="2"
BorderColor="LightBlue"
BackColor="CornflowerBlue"
>
<Area3DStyle Enable3D="true" LightStyle="Realistic" />
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
<br />
<asp:Button
ID="Button1"
runat="server"
Text="Show Chart Legend in DefaultChartArea"
Font-Bold="true"
OnClick="Button1_Click"
ForeColor="DarkBlue"
Height="45"
/>
</div>
</form>
</body>
</html>