첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

TestProject.zip
0.01MB

▶ MainForm.cs

using System;
using System.Linq;
using System.Windows.Forms;

using ScottPlot;
using ScottPlot.Statistics;

namespace TestProject
{
    /// <summary>
    /// 메인 폼
    /// </summary>
    public partial class MainForm : Form
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 생성자 - MainForm()

        /// <summary>
        /// 생성자
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            Plot plot = new Plot(800, 600);

            Random random = new Random(0);

            double[] valueArray1 = DataGen.RandomNormal(random, pointCount : 1000, mean : 50, stdDev : 20);
            double[] valueArray2 = DataGen.RandomNormal(random, pointCount : 1000, mean : 45, stdDev : 25);

            (double[] histogramArray1, double[] binEdgeArray) = Common.Histogram(valueArray1, min : 0, max : 100, binSize : 1, density : true);
            (double[] histogramArray2, _                    ) = Common.Histogram(valueArray2, min : 0, max : 100, binSize : 1, density : true);

            double[] cphArray1 = Common.CumulativeSum(histogramArray1);
            double[] cphArray2 = Common.CumulativeSum(histogramArray2);

            double[] leftEdgeArray = binEdgeArray.Take(binEdgeArray.Length - 1).ToArray();

            plot.AddScatterStep(xs : leftEdgeArray, ys : cphArray1, label : "샘플 A");
            plot.AddScatterStep(xs : leftEdgeArray, ys : cphArray2, label : "샘플 B");

            plot.Title("누적 확률 히스토그램");
            plot.Legend();
            plot.XAxis.Label("확률(분수)");
            plot.YAxis.Label("값(단위)");
            plot.SetAxisLimits(yMin : 0, yMax : 1);

            this.formsPlot.Reset(plot);

            this.formsPlot.Refresh();
        }

        #endregion
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요