처음 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 디자인이나 좀 더 심화적으로 이용하는 법은 다음 포스팅에 기록하도록 하겠습니다.
'프로그램 개발 > C#' 카테고리의 다른 글
Interactivity 오류 해결 (0) | 2021.08.16 |
---|---|
[wpf] c# ZedGraph 사용하기 - 선 그래프 간단 설정 방법 (0) | 2021.07.13 |
[wpf] TextBox Enter 키 입력 이벤트 (0) | 2021.07.05 |
[wpf] c# 오류 로그 텍스트 파일 만들기 (0) | 2021.05.31 |
[wpf] c# 코드로 폴더 선택하기 - FolderBroswerDialog와CommonOpenDialog (0) | 2021.05.02 |