! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

JavaScript 스프레드시트를 컴포넌트를 이용한 종 모양 곡선 만들기 > 블로그 & Tips

본문 바로가기

SpreadJS

블로그 & Tips

JavaScript 스프레드시트를 컴포넌트를 이용한 종 모양 곡선 만들기

페이지 정보

작성자 GrapeCity 작성일 2019-01-18 00:00 조회 4,444회 댓글 0건

본문

종(Bell) 모양 곡선 (정규 분포라고도 함)은 변수의 일반적인 분포 유형입니다. 벨 커브에 대한 많은 사용 사례가 있습니다. 통계에서 벨 곡선은 다양한 실제 데이터를 모델링하는 데 사용됩니다. 금융 업계에서 분석가와 투자자는 유가 증권 또는 전반적인 시장 민감도의 수익을 분석 할 때 정규 확률 분포를 사용합니다.


이 포스트에서는 SpreadJS에서 벨 커브를 디자인하는 방법에 대해 설명합니다. 분산형 차트와 기본 제공 수식을 사용하여 곡선을 그립니다.


아래 코드를 통해, Spread.Sheets를 회사의 직원 등급에 대한 가설적인 데이터로 채웁니다.

Spread.Sheets에서 데이터를 채우는 코드는 다음과 같습니다.

   spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), { sheetCount: 2 });
            var dataSheet = spread.sheets[0];

            dataSheet.setValue(0, 0, 'Employee Name', GC.Spread.Sheets.SheetArea.colHeader);
            dataSheet.setValue(0, 1, 'Employee Ratings', GC.Spread.Sheets.SheetArea.colHeader);
            dataSheet.setValue(0, 2, 'Normal Distribution', GC.Spread.Sheets.SheetArea.colHeader);
            dataSheet.setValue(0, 3, 'Mean', GC.Spread.Sheets.SheetArea.colHeader);
            dataSheet.setValue(0, 4, 'Standard Deviation', GC.Spread.Sheets.SheetArea.colHeader);

            for (var i = 0; i <= 99; i++)
            {               
                dataSheet.setValue(i, 0, "Employee" +" "+ i);
            }
            for (var i = 0; i <= 99; i++) {             

                dataSheet.setValue(i, 1, Math.floor(Math.random() * (50 - 10 + 1)) + 10);
            }           


종 모양 곡선은 정규 분포를 나타내므로 SpreadJS의 Norm.Dist ()를 사용하여, 데이터 포인트를 계산합니다.


그러나 정규 분포는 분포 값을 계산하기 위해, 평균 및 표준 편차가 필요합니다. 이 값에 대한 평균 및 표준 편차를 먼저 구해 봅시다.


올바른 평균을 찾으려면 값을 순서대로 정렬해야합니다.


                spread.getActiveSheet().sortRange(-1, -1, -1, -1, true, [
             { index: 1, ascending: true }]);


평균 및 표준 편차를 계산해 봅시다 :

dataSheet.setFormula(0, 3, "=AVERAGE(B1:B100)", GC.Spread.Sheets.SheetArea.viewport);
                dataSheet.setFormula(0, 4, "=STDEV(B1:B100)", GC.Spread.Sheets.SheetArea.viewport);


이 값을 Norm.Dist 공식에 넣어 분포를 구해 봅시다.

  for (var i = 0; i <= 99; i++) {
                    var j = i + 1;
                    dataSheet.setFormula(i, 2, "=NORM.DIST(B" + j + ",D1,E1,FALSE) ", GC.Spread.Sheets.SheetArea.viewport);
                }


이제 가장 중요한 부분은 계산된 분포를 사용하여, 종 모양 그래프를 그리는 것입니다. SpreadJS에서는 분산형 차트의 데이터 범위를 다음 분포 값으로 설정합니다.

    var chartType = GC.Spread.Sheets.Charts.ChartType.xyScatter;
                var chart = dataSheet.charts.add('Bell Curve', chartType, 280, 30, 700, 390, "B1:C100");


종 모양 곡선으로 표시되는 정규 분포의 결과는 다음과 같습니다.



 


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.