Ms Chart Control Sample :: iopeni - Think of C#

예전 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"

이렇게 모든 타입의 챠트를 전부 어떤 코드로 생성 할 수 있는지 샘플로 만들어져 있습니다.


어떠신가요? 이 샘플 참고로 볼만하죠?


'Functional World > .Net Framework' 카테고리의 다른 글

호기심 해결  (0) 2017.01.13
Microsoft .Net Framework 4.5? 에 추가된 것들...  (0) 2013.11.01
Posted by 프로그래머란 카페인을 코드로 변환하는 기계다
,