C#/WindowForm
C# 그래프 그리기
hyun0229
2022. 6. 1. 19:06
Chart를 사용하여 그래프를 그려보자
namespace _041_Graph
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Text = "Graph using Chart control";
}
private void Form1_Load(object sender, EventArgs e)
{
ChartSetting();
}
private void ChartSetting()
{
ch.ChartAreas[0].BackColor = Color.Black;
// X축과 Y축을 설정
ch.ChartAreas[0].AxisX.Minimum = -20;
ch.ChartAreas[0].AxisX.Maximum = 20;
ch.ChartAreas[0].AxisX.Interval = 2;
ch.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.Gray;
ch.ChartAreas[0].AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash;
ch.ChartAreas[0].AxisY.Minimum = -1;
ch.ChartAreas[0].AxisY.Maximum = 1;
ch.ChartAreas[0].AxisY.Interval = 0.2;
ch.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Gray;
ch.ChartAreas[0].AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash;
//Series[0] 설정 = sin(x)/x
ch.Series[0].ChartType = SeriesChartType.Line;
ch.Series[0].Color = Color.LightGreen;
ch.Series[0].BorderWidth = 2;
ch.Series[0].LegendText = "Sin(x) / x";
//Series 추가
ch.Series.Add("Cos(x)/x");
ch.Series["Cos(x)/x"].LegendText = "Cos(x) / x";
ch.Series[1].ChartType = SeriesChartType.Line;
ch.Series[1].Color = Color.Orange;
ch.Series[1].BorderWidth = 2;
//데이터 추가
for (double x = -20; x < 20; x+=0.1)
{
double y = Math.Sin(x)/x;
ch.Series[0].Points.AddXY(x, y);
y = Math.Cos(x) / x;
ch.Series[1].Points.AddXY(x, y);
}
}
}
}
ChartSetting의 함수를 만들어 그래프를 그려보자
방법은 저번에 사용한 Chart 그리기 -1,2와 동일하다
차트의 x,y축을 AxisX와 AxisY를 통해 설정한다.
값의 설정은 Math.Sin과 Math.Cos인을 통해 계산하였다.
실행결과