Create PIE chart in asp.net using Microsoft .NET Charting control 3.5
In this article we will create PIE chart using Microsoft .NET Charting control 3.5. In some application we need
to display pie chart as a part of report and using Microsoft Charting control its very easy, and more over
this .NET Charting control is free to use and distribute.
Step 1: First Download the .NET Charting control from here.
Setp 2: Add the reference to your project by right click on the solution explorer of your project.
Setp 3: Write the below code in which event you want to draw Pie Chart.
private void CreateChart()
//Create some dummy Data
Random random = new Random();
for (int pointIndex = 0; pointIndex < 10; pointIndex++)
"Series1"].Points.AddY(random.Next(20, 100));
//Set the chart type
Chart1.Series["Series1"].ChartType = SeriesChartType.Pie;// Set the bar width
Chart1.Series["Series1"]["PointWidth"] = "0.5";// Show data points labels
Chart1.Series["Series1"].IsValueShownAsLabel = true;// Set data points label style
Chart1.Series["Series1"]["BarLabelStyle"] = "Center";// Show chart as 3D
Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;// Draw chart as 3D Cylinder
Chart1.Series["Series1"]["DrawingStyle"] = "Cylinder";
Note: For more information about dowloading and installing information refer this article .NET Framework 3.5 ASP.Net Chart Control Example
Dont forget to add namespace
using System.Web.UI.DataVisualization.Charting;
If you run the project you will see you pie chart like this

Full Code of your .cs file using C# Example. In the below example we have calling the method in the page load event.
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.DataVisualization.Charting;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CreateChart();
}
}
private void CreateChart()
{
//Create some dummy Data
Random random = new Random();
for (int pointIndex = 0; pointIndex < 10; pointIndex++)
{
Chart1.Series["Series1"].Points.AddY(random.Next(20, 100));
}//Set the chart type
Chart1.Series["Series1"].ChartType = SeriesChartType.Pie;// Set the Pie width
Chart1.Series["Series1"]["PointWidth"] = "0.5";// Show data points labels
Chart1.Series["Series1"].IsValueShownAsLabel = true;// Set data points label style
Chart1.Series["Series1"]["BarLabelStyle"] = "Center";// Show chart as 3D
Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;// Draw chart as 3D
Chart1.Series["Series1"]["DrawingStyle"] = "Cylinder";
}
}
And the same above code in VB.NET
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.DataVisualization.Charting
Public Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
CreateChart()
End If
End Sub
Private Sub CreateChart()
'Create some dummy Data
Dim random As New Random()
For pointIndex As Integer = 0 To 9
Chart1.Series("Series1").Points.AddY(random.[Next](20, 100))
Next
'Set the chart type
Chart1.Series("Series1").ChartType = SeriesChartType.Pie
' Set the PIE width
Chart1.Series("Series1")("PointWidth") = "0.5"
' Show data points labels
Chart1.Series("Series1").IsValueShownAsLabel = True
' Set data points label style
Chart1.Series("Series1")("BarLabelStyle") = "Center"
' Show chart as 3D
Chart1.ChartAreas("ChartArea1").Area3DStyle.Enable3D = True
' Draw chart as 3D
Chart1.Series("Series1")("DrawingStyle") = "Cylinder"
End Sub
End Class
You can change the data source to any mode. you can also get the data from Database and set its chart series property.
Cheers!!!
pankaj