Microsoft Chart Controls can be downloaded from here.
Required dlls in GAC:
· System.Web.DataVisualization.Design.dll
· System.Web.DataVisualization.dll
· System.Windows.Forms.DataVisualization.Design.dll
· System.Windows.Forms.DataVisualization.dll
Web.config
1) Add the dlls as Safe
<SafeControl Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI.DataVisualization.Charting" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>
2) Add this code in <httphandlers>
<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
3) Add this code in <appsettings>
<add key="ChartImageHandler" value="storage=memory;timeout=20;URL=/_layouts/Images/MicrosoftChartControls/" />
Sample code for the WebPart :
protected override void CreateChildControls()
{
base.CreateChildControls();
Chart testchart = new Chart();
testchart.Width = Unit.Pixel(600);
ChartArea chartarea = new ChartArea();
chartarea.Name = "Test";
testchart.ChartAreas.Add(chartarea);
Series testseries = new Series();
DataPoint dp1 = new DataPoint();
dp1.AxisLabel = "Celtics";
dp1.SetValueY(17);
DataPoint dp2 = new DataPoint();
dp2.AxisLabel = "Bulls";
dp2.SetValueY(6);
DataPoint dp3 = new DataPoint();
dp3.AxisLabel = "Pistons";
dp3.SetValueY(20);
testseries.Points.Add(dp1);
testseries.Points.Add(dp2);
testseries.Points.Add(dp3);
testchart.Series.Add(testseries);
this.Controls.Add(testchart);
}