윈 폼에서는 다양한 차트를 만들 수 있는 Chart 컨트롤들이 제공된다.
그 중 차트 컨트롤에서 사용하는 기본 용어는 다음과 같다.
ChartArea : 차트가 그려지는 영역을 뜻한다. 하나의 차트 객체에서 하나 이상의 차트 영역을 가질 수 있다.
Series : 차트 영역에 표시되는 데이터를 말한다. 하나의 차트 영역의 두 개 이상의 시리즈가 있을 수도 있다. 또한 차트의 종류를 지정할 수 있다.
Legends : 범례를 뜻한다.
Titles: 차트 컨트롤 상단의 표시되는 제목이다.
차트 컨트롤의 용어들을 숙지한 후에
차트 컨트롤을 사용해 무작위로 뽑은 10개의 숫자를 차트에 표시되게 만들어보았다!
첫 번째로 다음과 같이 윈 폼에 차트 컨트롤을 집어 넣어준다.
이 때 다른 설정은 건들지 않아도 된다.
두 번째로 디자인 화면(Form1.cs [Design])에서 항목을 두 번 클릭 해주면 로드화면( Form1.cs)이 열린다.
로드화면이 열리면 밑에 첨부된 코드와 같은 코드들이 뜬다.
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;
using System.Windows.Forms.DataVisualization.Charting;
namespace W015_Chart1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
"private void Form1_Load(object sender, EventArgs e)" 의 뜻은?
폼이 시작될 때 실행되는 프로그램
로드화면에 관련한 이벤트를 입력할 수 있는 코드가 뜬 것을 확인한 뒤
윈폼의 상단에 뜨는 Form1이라는 글자(하단 사진의 빨간 박스의 글자)를 없애고 "Using Chart Control"란
글자를 넣어주는 코드를 작성해준다.
public Form1()
{
InitializeComponent();
this.Text = "Using Chart Control";
}
세 번째로 무작위로 뽑은 10개의 숫자가 차트에 표시되는 것을 만들어준다.
private void Form1_Load(object sender, EventArgs e)
{
Random r = new Random();
chart1.Titles.Add("중간고사 성적");
for (int i = 0; i < 10; i++)
chart1.Series["Series1"].Points.Add(r.Next(50, 100));
chart1.Series["Series1"].LegendText = "수학";
chart1.Series[0].ChartType = SeriesChartType.Line;
}
랜덤한 10개의 숫자를 불러줘야하기 때문에
랜덤함수를 만들어 새로운 난수를 생성해준다.
Random r = new Random();
차트의 제목을 "중간고사 성적"으로 바꾸어 준다.
chart1.Titles.Add("중간고사 성적");
"Series1" 시리즈에 랜덤하게 오 십에서 백 점 사이의 점수를 추가한다 .
for (int i = 0; i < 10; i++)
chart1.Series["Series1"].Points.Add(r.Next(50, 100));
"Series1"은 디폴트로 차트를 생성하면 들어가 있다.
"Series1"의 범례를 수학으로 바꾸고
차트 종류를 Line(선그래프)로 바꾸어준다.
chart1.Series["Series1"].LegendText = "수학";
chart1.Series[0].ChartType = SeriesChartType.Line;
chart1.Series["Series1"] = chart1.Series[0]
시리지의 이름을 써줘도 되고 시리즈의 순서를 써주어도 된다.
이 때 순서가 0인 이유는 첫 번째 시리즈이기 때문이다.
"Series1" 의 차트 종류는 Columm(막대그래프)로 디폴트 설정되어 있다.
최종 코드는 다음과 같다.
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;
using System.Windows.Forms.DataVisualization.Charting;
namespace W015_Chart1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Text = "Using Chart Control";
}
private void Form1_Load(object sender, EventArgs e)
{
Random r = new Random();
chart1.Titles.Add("중간고사 성적");
for (int i = 0; i < 10; i++)
chart1.Series["Series1"].Points.Add(r.Next(50, 100));
chart1.Series["Series1"].LegendText = "수학";
chart1.Series[0].ChartType = SeriesChartType.Line;
}
}
}
'C# > Basics' 카테고리의 다른 글
F017_GraphUsingChart (0) | 2021.06.09 |
---|---|
F016_TwoChart (0) | 2021.06.08 |
W014. WindowsCalc (0) | 2021.04.25 |
W013. Event (0) | 2021.04.25 |
W012. UniformGrid (0) | 2021.04.25 |