예전 Chart를 그리고 싶다면 누가 뭐래도 ChartFX 가 최고 였던것 같습니다.
Microsoft Chart Control은 어딘지 모를 어색함에 이쁜 차트를 그리기는 쉽지 않았던것 같습니다.
아마도 GUI를 지원 하는 개발툴들 중 가장 허접한 디자인의 차트 였던것 같습니다.
.Net에서는 이런 예전의 차트 컨트롤을 버리고 아주 획기적으로 이쁜 차트로 탈바꿈 되었습니다.
Microsoft가 제공하는 Sample로 차트가 얼마나 이뻐 졌는지 확인해 보도록 하죠.
http://archive.msdn.microsoft.com/mschart
위 사이트로 가시면 차트 컨트롤 샘플을 받으실 수 있습니다.
위 샘플은 .Net Framework 4 기준의 샘플 입니다. 아래 링크를 보시면 3.5버젼의 샘플도 구하실수 있습니다.
일단.. 차트 컨트롤의 설명을 보면...
- All supported chart types.
- Data series, chart areas, axes, legends, labels, titles, and more.
- Data Binding
- Data manipulation, such as copying, splitting, merging, alignment, grouping, sorting, searching, filtering, and more.
- Statistical formulas and financial formulas.
- Advanced chart appearance, such as 3D, anti-aliasing, lighting, perspective, and more.
- Chart rendering.
- Events and Customizations.
이렇게 설명 하고 있습니다.
단지 이렇게만 보면 이 샘플의 위용을 느끼 실수 없을 텐데.
일단 다운 로드 받아서 설치 해 보도록 하죠.
다운로드 탭을 클릭 후 윈폼 버젼의 샘플을 다운 받습니다.
압축을 풀면 이런 파일들이 있습니다. 제일 하단 WinFormsChartSamples를 클릭하여 솔루션을 엽니다.
그리고 F5번 키를 눌러 실행을 해 보면... 아래 에러가..
이건 단순 코드 문제로.. 아무래도 한국 코드 페이지와 틀려서 생긴 문제로 별 문제는 아닙니다.
코드를 확인해 보면...
위처럼 쟡 .... ?; 처럼 코드가 깨져 보입니다. 대충 살펴 보기에 쟡은 Demo 처럼 ?; 은 ."; 으로 바꿔 주면 동작 할 듯 합니다. 뭐 당연하죠?
이런 방법으로 모든 에러를 수정 하시면 됩니다. 그리고 실행을 해 보시면 다음과 같은 화면이 나옵니다.
아래 그림 처럼 몇개 선택을 해 보시면 챠트가 바뀌는 것을 보실 수 있습니다.
이 화면 상단에 C# Source 와 Visual Basic Source가 보이시나요? 저 탭을 클릭해 보시면
저 챠트를 그리기 위해 필요한 샘플 코드가 보입니다.
아래 처럼 말이죠...
C# Code
using System.Windows.Forms.DataVisualization.Charting;
...
// Set series chart type
chart1.Series["Price"].ChartType = SeriesChartType.Stock;
// Set the style of the open-close marks
chart1.Series["Price"]["OpenCloseStyle"] = "Triangle";
// Show both open and close marks
chart1.Series["Price"]["ShowOpenClose"] = "Both";
// Set point width
chart1.Series["Price"]["PointWidth"] = "1.0";
// Set a dividend marker
chart1.Series["Price"].Points[5].MarkerImage = "DividentMarker.bmp";
chart1.Series["Price"].Points[5].MarkerImageTransparentColor = Color.White;
chart1.Series["Price"].Points[pointIndex].ToolTip = "#VALX{D}\n0.15 - dividend paid per share";
...
Visual Basic Code
Imports System.Windows.Forms.DataVisualization.Charting
...
' Set series chart type
Chart1.Series("Price").ChartType = SeriesChartType.Stock
' Set the style of the open-close marks
Chart1.Series("Price")("OpenCloseStyle") = "Triangle"
' Show both open and close marks
Chart1.Series("Price")("ShowOpenClose") = "Both"
' Set point width
Chart1.Series("Price")("PointWidth") = "1.0"
' Set a dividend marker
Chart1.Series("Price").Points(5).MarkerImage = "DividentMarker.bmp"
Chart1.Series("Price").Points(5).MarkerImageTransparentColor = Color.White
Chart1.Series("Price").Points(pointIndex).ToolTip = "#VALX{D}\n0.15 - dividend paid per share"
이렇게 모든 타입의 챠트를 전부 어떤 코드로 생성 할 수 있는지 샘플로 만들어져 있습니다.
어떠신가요? 이 샘플 참고로 볼만하죠?