본문 바로가기
개발언어/C#

[C#] Chart Setting

by 창용이랑 2021. 11. 9.
728x90

 

private void ChartSetting()
{
    float XInterval = 1f;
    float YInterval = 10f;
   
    //Chart.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.
                                                     
    Chart.Titles[0].Position.Auto = false;     // 타이틀 위치 수동
    Chart.Titles[0].Position.X = 50;      // 타이틀 위치 x
    Chart.Titles[0].Position.Y = 4;       // 타이틀 위치 y           
   
    Chart.ChartAreas[0].Position.Auto = false;
    Chart.ChartAreas[0].Position.X = 0;      // 차트 위치
    Chart.ChartAreas[0].Position.Y = 8;
    Chart.ChartAreas[0].Position.Height = 95;    // 차트 높이
    Chart.ChartAreas[0].Position.Width = 95;    // 차트 폭
   
    Chart.ChartAreas[0].ShadowOffset = 20;

    Chart.Legends[0].Position.Auto = true;
           
    Chart.ChartAreas[0].AxisX.Title = "WORKING PRECESS";    // X 축 이름
    Chart.ChartAreas[0].AxisX.TitleAlignment = StringAlignment.Far;  // X축 이름 위치
    Chart.ChartAreas[0].AxisX.TextOrientation = System.Windows.Forms.DataVisualization.Charting.TextOrientation.Auto;   // X축 이름 회전        


    Chart.ChartAreas[0].AxisX.IsLogarithmic = false;    // True 면 Maximum Minimum 조절 안됨
    Chart.ChartAreas[0].AxisX.Maximum = 55;         // x축 최고값
    Chart.ChartAreas[0].AxisX.Minimum = 1;          // x축 최소값
    Chart.ChartAreas[0].AxisX.IntervalAutoMode = System.Windows.Forms.DataVisualization.Charting.IntervalAutoMode.VariableCount;  // 간격 수동모드


    Chart.ChartAreas[0].AxisX.Interval = XInterval;      // 간격지정
    Chart.ChartAreas[0].AxisX.IntervalOffset = 0;        // 0부터 시작     
    Chart.ChartAreas[0].AxisX.IsLabelAutoFit = true;     // 라벨의 크기를 자동으로 지정
    Chart.ChartAreas[0].AxisX.LabelAutoFitMinFontSize = 9;   // 자동지정시에 최저크기
    Chart.ChartAreas[0].AxisX.LabelAutoFitMaxFontSize = 9;   // 자동 지정시에 최고 크기


    Chart.ChartAreas[0].AxisX.IsReversed = false;             // x축 위아래 바꿈
    Chart.ChartAreas[0].AxisX.MajorGrid.Interval = 1;        // 각 그래프 선(바둑판)이 나타나는 간격
    Chart.ChartAreas[0].AxisX.MajorGrid.Enabled = false;     // 그래프선 보이기 안보이기

    Chart.ChartAreas[0].AxisY.Title = "ERROR COUNT";          // Y 축 이름           
    Chart.ChartAreas[0].AxisY.TextOrientation = System.Windows.Forms.DataVisualization.Charting.TextOrientation.Auto;
    Chart.ChartAreas[0].AxisY.TitleAlignment = StringAlignment.Near;  // Y축 이름 위치


    Chart.ChartAreas[0].AxisY.IsLogarithmic = false; // true 면 maximum minimum 조절안됨
    Chart.ChartAreas[0].AxisY.Maximum = 100;
    Chart.ChartAreas[0].AxisY.Minimum = 0;
    Chart.ChartAreas[0].AxisY.IntervalAutoMode = System.Windows.Forms.DataVisualization.Charting.IntervalAutoMode.VariableCount;


    Chart.ChartAreas[0].AxisY.Interval = YInterval;
    Chart.ChartAreas[0].AxisY.IntervalOffset = 0;
    Chart.ChartAreas[0].AxisY.IsLabelAutoFit = true;
    Chart.ChartAreas[0].AxisY.LabelAutoFitMinFontSize = 10;
    Chart.ChartAreas[0].AxisY.LabelAutoFitMaxFontSize = 10;
    Chart.ChartAreas[0].AxisY.MajorGrid.Interval = 20;        // 눈금선 간격
    Chart.ChartAreas[0].AxisY.MajorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dash;
    Chart.ChartAreas[0].AxisY.MajorTickMark.TickMarkStyle = System.Windows.Forms.DataVisualization.Charting.TickMarkStyle.AcrossAxis;


    Chart.ChartAreas[0].AxisY.MajorTickMark.LineWidth = 2;
    Chart.ChartAreas[0].AxisY.MajorTickMark.Size = 1;
    Chart.ChartAreas[0].AxisY.MajorTickMark.Interval = 10;
    Chart.ChartAreas[0].AxisY.MajorTickMark.IntervalOffset = 10;
    Chart.ChartAreas[0].AxisY.MajorTickMark.LineColor = Color.Red;
}

 

출처 : https://m.cafe.daum.net/goldgalaxy/Jij3/10