[그냥 따라하는 C#] chart 컨트롤, 차트 만들기, 그래프 만들기_1

728x90
반응형

C# 포스팅은 순서 같은 거 없다. 그냥 그때그때 공부한 거 쓴다. 언어 자체를 공부하는 게 아니라 프로그램을 직접 만드는 걸 공부하는 것이라.. 뭐 딱히 순서가 없다.

오늘따라 할 C#은 차트 그리기! 내가 사용하기에는 이 정도만 알아도 충분할 것 같다. 우선 사용할 줄 알아야 다른 그래프라도 따라 그리니까 우선 따라 해 보자.

 

왼쪽 도구 상자의 데이터 카테고리에서 Chart를 선택한다. 더블클릭해도 Form에 들어가고 Chart를 선택하고 마우스를 Form에 놓고 원하는 크기로 그려도 된다.

 

이렇게 들어간다. 사이즈 조정은 chart를 선택하고 조절하면 된다. 가장 기본은 위처럼 막대그래프다. chart의 종류는 변경이 가능하다.

 

chart를 선택하고 속성에 들어가면 "Series"가 보이고 (컬렉션)이라고 적혀있다. 왼쪽에... 모양을 클릭하면 Series 설정을 변경할 수 있는 창이 나온다.

Series 컬렉션 편집기 왼쪽 "Serise1 속성(P)"에서 스크롤을 내려보면 ChartType이 보인다. 여기서 원하는 ChartType으로 변경하면 된다. Line로 변경해보자.

바뀌는 걸 확인할 수 있다. 이상태에서 F7을 눌러 코드로 이동!(코드 화면에서 Shift + F7을 누르면 Form 수정 화면으로 이동한다.)

 

반응형

 

간단하게 차트를 그리는 프로그램을 작성해보자.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Blog
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            float Ydata = 0.0f;

            chart1.ChartAreas[0].AxisX.Minimum = 0;
            chart1.ChartAreas[0].AxisX.Maximum = 50;

            chart1.ChartAreas[0].AxisY.Minimum = 0;
            chart1.ChartAreas[0].AxisY.Maximum = 5.0;

            for (int x = 0; x < chart1.ChartAreas[0].AxisX.Maximum; x++) 
            {
                chart1.Series[0].Points.AddXY(x, Ydata);
                Ydata += 0.1f;
            }
        }
    }
}

위 코드를 컴파일하면 아래 그림처럼 0부터 시작해 대각선 방향으로 선이 그어진다.

 

 

float Ydata = 0.0f;

chart1.ChartAreas[0].AxisX.Minimum = 0;		// X축 최소값
chart1.ChartAreas[0].AxisX.Maximum = 50;	// X축 최대값

chart1.ChartAreas[0].AxisY.Minimum = 0;		// Y축 최소값
chart1.ChartAreas[0].AxisY.Maximum = 5.0;	// Y축 최대값

y축 데이터로 사용할 변수 Ydata를 선언하고, X축과 Y축의 범위를 설정한다. 

for (int x = 0; x < chart1.ChartAreas[0].AxisX.Maximum; x++) // X 축 최대값 만큼 for문 동작
{
    chart1.Series[0].Points.AddXY(x, Ydata);	// 그래프에 x, y축 데이터 저장
    Ydata += 0.1f;  // Y축 데이터 0.1씩 증가
}

for 문에서 선언한 변수 x를 x축 데이터로 하고, 이전에 선언한 Ydata를 Y축 데이터에 전달한다. 그래프 변화를 확인하기 위해 Ydata를 0.1씩 증가.

 

C#에서 그래프 그리기 생각보다 어렵지 않다. 차트는 다룰내용이 많아서 연재할 계획이다.

 

- 끝 -

728x90
반응형