摘要:前言問(wèn)題背景貝爾曲線也稱為正態(tài)分布是變量的常見(jiàn)分布類型。貝爾曲線有很多用例,在統(tǒng)計(jì)學(xué)中,鐘形曲線用于模擬各種各樣的真實(shí)數(shù)據(jù)。在這篇文章中,我將討論如何在中設(shè)計(jì)鐘形曲線。我們將使用散點(diǎn)圖和內(nèi)置公式繪制曲線。
前言 | 問(wèn)題背景
貝爾曲線(也稱為正態(tài)分布、Bell Curve)是變量的常見(jiàn)分布類型。貝爾曲線有很多用例,在統(tǒng)計(jì)學(xué)中,鐘形曲線用于模擬各種各樣的真實(shí)數(shù)據(jù)。在金融行業(yè),分析師和投資者在分析證券的回報(bào)或整體市場(chǎng)敏感度時(shí)使用正態(tài)概率分布。
在這篇文章中,我將討論如何在Spread.Sheets中設(shè)計(jì)鐘形曲線。我們將使用散點(diǎn)圖和內(nèi)置公式繪制曲線。
具體實(shí)現(xiàn)讓我們用一些公司員工評(píng)級(jí)的假設(shè)數(shù)據(jù)填寫(xiě)Spread.Sheets。
在Spread.Sheets中填充數(shù)據(jù)的代碼如下:
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); }
由于鐘形曲線顯示正態(tài)分布,我們將使用SpreadJS的Norm.Dist()來(lái)計(jì)算數(shù)據(jù)點(diǎn)。
但是,正態(tài)分布需要均值和標(biāo)準(zhǔn)差來(lái)計(jì)算分布值。因此,讓我們首先得到這些值的均值和標(biāo)準(zhǔn)差。
請(qǐng)注意,需要按遞增順序?qū)χ颠M(jìn)行排序,以找到正確的均值。
spread.getActiveSheet().sortRange(-1, -1, -1, -1, true, [{ index: 1, ascending: true }]);
讓我們計(jì)算平均值和標(biāo)準(zhǔn)差:
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); }
現(xiàn)在最重要的部分是使用計(jì)算的分布來(lái)繪制鐘形曲線圖。在SpreadJS中,我們將Scatter圖表的數(shù)據(jù)范圍設(shè)置為這些分布值:
var chartType = GC.Spread.Sheets.Charts.ChartType.xyScatter; var chart = dataSheet.charts.add("Bell Curve", chartType, 280, 30, 700, 390, "B1:C100");
鐘形曲線顯示的正態(tài)分布結(jié)果如下所示:
純前端表格控件SpreadJS,是市面上布局與功能都與 Excel 高度類似的一款表格控件,全中文操作界面,適用于.NET、Java、移動(dòng)端等多個(gè)平臺(tái)的類 Excel 數(shù)據(jù)開(kāi)發(fā),備受華為、中通、民航飛行學(xué)院等國(guó)內(nèi)知名企業(yè)客戶青睞。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/103112.html
摘要:用不到行代碼,在前端實(shí)現(xiàn)的全部功能千萬(wàn)前端開(kāi)發(fā)者翹首企盼,終發(fā)布更新六大功能特性,帶來(lái)更多便利,用不到行代碼,在前端實(shí)現(xiàn)的全部功能是一款基于的純前端電子表格控件,以高速低耗高度類似可無(wú)限擴(kuò)展為產(chǎn)品特色,提供移動(dòng)跨平臺(tái)和瀏覽器支持,同時(shí)滿足等 用不到100行代碼,在前端實(shí)現(xiàn)Excel的全部功能 千萬(wàn)前端開(kāi)發(fā)者翹首企盼,SpreadJS V12.2 終發(fā)布更新:六大功能特性,帶來(lái)更多便利,...
摘要:而作為一款深受用戶喜愛(ài)的電子表格工具,借助其直觀的界面出色的計(jì)算性能和圖表工具,已經(jīng)成為數(shù)據(jù)統(tǒng)計(jì)領(lǐng)域不可或缺的軟件之一。使用實(shí)現(xiàn)的導(dǎo)入和導(dǎo)出通過(guò)純,您完全可以實(shí)現(xiàn)導(dǎo)入和導(dǎo)出文件功能,并為最終用戶提供與這些文件進(jìn)行交互的界面。 JavaScript是一個(gè)涵蓋多種框架、直譯式、可以輕松自定義客戶端的腳本語(yǔ)言,在 Web 應(yīng)用程序中,更加易于編碼和維護(hù)。而Excel 作為一款深受用戶喜愛(ài)的電...
閱讀 2020·2023-04-26 01:41
閱讀 2543·2021-11-24 09:39
閱讀 1956·2021-11-24 09:38
閱讀 1995·2021-11-19 09:40
閱讀 3810·2021-11-11 11:02
閱讀 3322·2021-10-20 13:48
閱讀 3249·2021-10-14 09:43
閱讀 4499·2021-09-02 15:11