You are on page 1of 5

C# Chart: Windows Forms

http://www.dotnetperls.com/chart

C# Chart
The Chart control visualizes your data. It displays data in your Windows Forms program as a bar graph or chart. With Chart and the System.Windows.Forms DataVisualization.Charting namespace, you can quickly display your data in a colorful graphic controlled by C# code.

C#: Windows

Get started
First, you must be using a newer version of the .NET Framework. Older versions will not have the Chart control available. Open the Toolbox and drag the Chart item to the Form. Next: Select Properties after right-clicking on the Chart. You can add Series and Titles this way. And: For our example, remove the default Series1 that was added by Visual Studio.

1 of 5

25/05/2013 01:18

C# Chart: Windows Forms

http://www.dotnetperls.com/chart

Code example
In the next step, we will use the Form1_Load event handler to initialize the Chart we just added. To add Form1_Load, double-click on the Form window in Visual Studio. In Form1_Load, we assign an array of strings and an array of integers. These strings are the Series and the integers are the Points. In the for-loop, we add the strings to the Series collection and add the integers to the Points collections on those Series. For
Example that sets Chart control up: C# using System; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.Charting; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // Data arrays. string[] seriesArray = { "Cats", "Dogs" }; int[] pointsArray = { 1, 2 }; // Set palette. this.chart1.Palette = ChartColorPalette.SeaGreen; // Set title. this.chart1.Titles.Add("Pets"); // Add series. for (int i = 0; i < seriesArray.Length; i++) { // Add series. Series series = this.chart1.Series.Add(seriesArray[i]);

2 of 5

25/05/2013 01:18

C# Chart: Windows Forms

http://www.dotnetperls.com/chart

// Add point. series.Points.Add(pointsArray[i]); } } } } Output See screenshot at top.

The loop results in two Series: a Cats series with a Point of 1, and a Dogs series with a Point of 2. These are reflected in a bar graph, which is shown in the screenshot at the top of this article. When you call the Series.Add method, you can pass in a string which becomes the name of the Series. A Series object is returned by Add. At this point, you can assign a local variable to the result of Add and then access the Points collection on the Series. And: By calling Points.Add, you can set the values.

Palette property
Some computer programmers may not be artistically inclined. The Palette property on the Chart type can help with this: you can use a ChartColorPalette enumerated constant in an assignment expression. When you work with a Chart, try changing your Palette and experimenting with the ChartColorPalette constants.
ChartColorPalette enumerated constants: C# ChartColorPalette.Berry ChartColorPalette.Bright ChartColorPalette.BrightPastel ChartColorPalette.Chocolate ChartColorPalette.EarthTones ChartColorPalette.Excel ChartColorPalette.Fire

3 of 5

25/05/2013 01:18

C# Chart: Windows Forms

http://www.dotnetperls.com/chart

ChartColorPalette.GrayScale ChartColorPalette.Light ChartColorPalette.None ChartColorPalette.Pastel ChartColorPalette.SeaGreen ChartColorPalette.SemiTransparent

SaveImage
Sometimes you will need to save your chart to an image file. The SaveImage method takes the graphical representation of your chart as it appears on the screen and writes it to a file or Stream you specify. In the above example, try adding this statement and then check out the chart.png file.
Code that saves chart to image: C# this.chart1.SaveImage("C:\\chart.png", ChartImageFormat.Png);

Summary
We looked at the Chart type in the .NET Framework and Windows Forms library. With Chart, you can automatically generate graphs based on data. These bar graphs can then be used in a variety of places or displayed directly in a Windows Forms program.

4 of 5

25/05/2013 01:18

C# Chart: Windows Forms

http://www.dotnetperls.com/chart

5 of 5

25/05/2013 01:18

You might also like