목 차
-
MS Chart 란
- MS Chart 설치 및 예제
- MS Chart 란
MS에서 제공하는 무료 WinForm / ASP.NET 차트입니다.
아래와 같은 차트를 아주 쉽게 MS Chart를 이용해 사용 하실 수 있습니다.
|
==============================================================
- MS Chart 설치 및 예제
차트 컨트롤을 비쥬얼 스튜디오 2008과 통합 : Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008 |
컨트롤과 차트 컨트롤 설치하시고, 비쥬얼 스튜디오 2008과 통합 시켜주는 AddOn을 다운받아 설치 하시면 됩니다. 설치 중 특별한 것은 없으므로 넘어 가도록 하겠습니다.
도구 상자 항목 선택으로 가서 Chart 2개 모두 체크하고 확인 버튼을 누릅니다.
도구 상자에 Chart 컨트롤을 확인 하실 수 있습니다. 드래그 하여 Form으로 옮깁니다.
속성을 중 Annotations는 차트 주석 컬렉션이고, ChartAreas는 차트 영역으로 여러 개의 차트를 설정 할 수 있고, Legends는 차트 범례입니다. Series는 차트 계열로써 차트 타입을 선택 할 수 있습니다. Titles는 차트 제목입니다.
Series의 속성 ChartType으로 차트 타입을 추가 하실 수 있습니다.
비하인드 코드로 파이를 설정 하는 예제를 보겠습니다.
==============================================================
아래의 이미지는 예제의 결과 입니다.
Series 3개를 생성하여 각각 Bubble, Range, Spline 타입으로 설정하였습니다.
namespace AboutChart { public partial class Form1 : Form { Series weight_series = new Series(); Series height_series = new Series(); Series fat_series = new Series();
public Form1() { InitializeComponent();
} |
필드에서는 체중,키,비만의 Series 개체를 생성합니다.
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) { if (e.Index == 0) { if (e.CurrentValue == CheckState.Checked) { chart1.Series.Remove(fat_series); } else { MakeFatStatisticsChart(); } } else if (e.Index == 1) { if (e.CurrentValue == CheckState.Checked) { chart1.Series.Remove(weight_series); } else { MakeWeightStatisticsChart(); } } else if (e.Index == 2) { if (e.CurrentValue == CheckState.Checked) { chart1.Series.Remove(height_series); } else { MakeHeightStatisticsChart(); } }
} |
체크 리스트 박스에서 체크 박스를 선택하게 변하게 되면 이벤트가 발생하게 하였습니다.
체크가 안되어 있을 때 선택 하였을 때는, 화면에 해당 차트를 보여주고, 체크가 되어 있을 때 선택 하였을 때는 해당 차트를 제거합니다.
private void MakeFatStatisticsChart() { fat_series.Points.Clear();
fat_series.Name = "자기 비만도"; fat_series.ChartArea = "ChartArea1"; fat_series.ChartType = SeriesChartType.Bubble; fat_series.Legend = "Legend1";
chart1.Series.Add(fat_series);
Push_data(fat_series, "2010.11.1", 50); Push_data(fat_series, "2010.11.2", 30); Push_data(fat_series, "2010.11.3", 40); Push_data(fat_series, "2010.11.4", 10);
} |
Series클래스의 Points는 차트의 X, Y축의 값입니다.
Name은 차트 오른쪽 상단에 이름이며, ChartArea는 생성한 ChartArea 이름 입니다.
ChartType은 Bubble로 설정해 주었습니다.
Chart에 Series를 추가해주고, Push_data 메소드를 통해 fat_series Series에 x, y축의 데이터를 추가하게 됩니다.
private void Push_data(Series series, string p, int p_3) { DataPoint dp = new DataPoint(); dp.SetValueXY(p, p_3); series.Points.Add(dp); } |
private void MakeWeightStatisticsChart() { weight_series.Points.Clear();
weight_series.Name = "체중 변화도"; weight_series.ChartArea = "ChartArea1";
weight_series.ChartType = SeriesChartType.Range; weight_series.Legend = "Legend1";
chart1.Series.Add(weight_series);
Push_data(weight_series, "2010.11.1", 30); Push_data(weight_series, "2010.11.2", 40); Push_data(weight_series, "2010.11.3", 10); Push_data(weight_series, "2010.11.4", 20); }
private void MakeHeightStatisticsChart() { height_series.Points.Clear();
height_series.Name = "키 변화도"; height_series.ChartArea = "ChartArea1"; height_series.ChartType = SeriesChartType.Spline; height_series.Legend = "Legend1";
chart1.Series.Add(height_series);
Push_data(height_series, "2010.11.1", 10); Push_data(height_series, "2010.11.2", 30); Push_data(height_series, "2010.11.3", 50); Push_data(height_series, "2010.11.4", 20); } |
키와 체중도 ChartType을 제외하곤 같습니다.
==============================================================
DataPoint dp = new DataPoint(); dp.SetValueY(textBox2.Text); series1.Points.Add(dp); |
X축의 데이터를 추가하지 않으시면, 아래의 그림과 같이포인트를 추가 할 수록 X값이 1부터 시작하여 자동적으로 늘어 나는 것을 확인 하실 수 있습니다.
'.Net > Winform' 카테고리의 다른 글
C# Winform에서 DaumAPI 사용하기[2]_JavaScript 메서드 호출 (0) | 2012.09.14 |
---|---|
C# Winform에서 DaumAPI 사용하기[1]_WebBrowser Control 사용 (0) | 2012.09.10 |
C# ListView LargeIcon을 이용하여 Windows탐색기 효과내기 (2) | 2012.08.29 |
C# 자신의 IP 및 MAC ADRESS 확인하기 (0) | 2012.08.29 |
C# Ping 확인 (0) | 2012.08.28 |