프로그램 개발/C#

[wpf] c# ZedGraph 사용하기 - 기본 사용법

(ㅇㅅㅎ) 2021. 7. 12. 22:23
728x90
반응형

 처음 WPF에서 그래프를 그릴 때 관련 컨트롤이 존재하지 않아서 당황했었는데요. 인터넷 검색을 통해서 무료 버전의 live chart와 toolkit 등을 써보았지만 실시간이나 많은 양의 데이터를 처리하는 데 있어서 사용이 원활하지 않는 문제점이 있었습니다. 그리하여 저는 ZedGraph에 정착하게 되었습니다. 그럼 ZedGraph 사용법에 대해서 알려드리도록 하겠습니다.

 

ZedGraph는 아래의 사이트에서 dll을 다운로드하신 후 추가하거나 Nuget 패키지로 추가하실 수 있습니다.

https://sourceforge.net/projects/zedgraph/

Nuget 패키지로 추가하는 법은 더보기를 눌러서 확인해 주시면 됩니다.

더보기
[참조]에서 우클릭 버튼을 클릭합니다.

[NuGet 패키지 관리]를 클릭합니다.


[찾아보기]에서 ZedGraph를 검색하여 [설치]를 클릭합니다.

[확인] 버튼을 클릭하여 다운로드합니다.(버전의 경우 꼭 같은 버전으로 맞추실 필요 없습니다.)

 

 XAML에서 사용할 때에는 WindowsFormsHost를 이용하여 ZedGraph를 사용할 수 있습니다. WindowsFormsHost를 사용하기 위해서는 참조에서 WindowsFormsIntegration와 System.WIndows.Forms을 추가합니다.

(참조 추가는 위의 더보기에 있는 과정에서 [참조]를 우클릭한 후 [참조 추가]를 클릭하시면 됩니다.)

 

 XAML에

xmlns:zed="clr-namespace:ZedGraph;assembly=ZedGraph"

을 추가한 뒤

<WindowsFormsHost>
	<zed:ZedGraphControl x:Name="graph"/>
</WindowsFormsHost>

와 같이 사용하면 됩니다.

 

 이 그래프를 사용하기 위해서는 PointPairList를 사용해야 합니다. PointPairList를 사용하는 방법은 다음과 같습니다.

// Graph의 x, y값을 위해PointPairList 사용
PointPairList points = new PointPairList();
// 하늘색으로 라인 색 정의
System.Drawing.Color bblue = System.Drawing.Color.FromArgb(255, 137, 207, 240);
// pane에 points 추가
graph.GraphPane.AddCurve("Graph", points, bblue, SymbolType.Circle);

// 랜덤한 값 추가
Random r = new Random();
for(int i=0; i<10; i++)
{
	points.Add(i, r.Next(0, 10));
}

 

위의 코드를 실행하면 다음과 같습니다.

 

ZedGraph 디자인이나 좀 더 심화적으로 이용하는 법은 다음 포스팅에 기록하도록 하겠습니다.

반응형