一起來玩echarts系列(一)------箱線圖的分析與繪製

来源:http://www.cnblogs.com/qjqcs/archive/2017/01/04/6249234.html
-Advertisement-
Play Games

一、箱線圖 Box plot 箱線圖一般被用作顯示數據分散情況。具體是計算一組數據的 、`25%分位數 75%分位數 上邊界 下邊界`,來將數據從大到小排列,直觀展示數據整體的分佈情況。 大部分正常數據在箱體中,上下邊界之外的就是異常數據了。 上下邊界的計算公式是: UpperLimit=Q3+1. ...



一、箱線圖 Box-plot




箱線圖一般被用作顯示數據分散情況。具體是計算一組數據的中位數25%分位數75%分位數上邊界下邊界,來將數據從大到小排列,直觀展示數據整體的分佈情況。

大部分正常數據在箱體中,上下邊界之外的就是異常數據了。

上下邊界的計算公式是:

UpperLimit=Q3+1.5IQR=75%分位數+(75%分位數-25%分位數)1.5
LowerLimit=Q1-1.5IQR=25%分位數-(75%分位數-25%分位數)
1.5
參數說明:
1.Q1表示下四分位數,即25%分位數;Q3為上四分位數,即75%分位數;IQR表示上下四分位差,繫數1.5是一種經過大量分析和經驗積累起來的標準,一般情況下不做調整。
2.分位數的參數可根據具體預警結果調整:25%和75%,是比較靈敏的條件,在這種條件下,多達25%的數據可以變得任意遠而不會很大地擾動四分位。具體業務中可結合擬合結果自行調整為其他分位

使用echarts時,這些計算通過調用echarts.dataTool.prepareBoxplotData()來完成。

說到這裡,有一個預警,繪製箱線圖除了要下載echart.js之外,還需要引入dataTool.js,否則瀏覽器會報錯:Uncaught TypeError: Cannot read property 'prepareBoxplotData' of undefined(…)

dataTool.js可以到github上下載。




二、echarts箱線圖示例




echart官網給出的箱線圖示例有兩種。

一種是單值對應(樣本元素有一組對應的值數據):


另一種是多值對應(樣本元素有多個對應的值數據):




三、數據結構分析



1.單值對應

單值對應的數據結構比較簡單,一個樣本信息的數據存儲到對應的一個數組裡,這些數組又存儲在一個大數組裡。然後用echarts.dataTool.prepareBoxplotData()處理這個大數組。


2.多值對應

舉一個慄子:線上地址在這裡


兩種性別的三種基因含量表。(數據純虛構)

那要提供什麼樣的數據才能使用echart生成對應的箱線圖?

再來看一下echart官網給出慄子數據,是通過三個for迴圈隨機生成的。

data = [];
for (var seriesIndex = 0; seriesIndex < 5; seriesIndex++) {
    var seriesData = [];
    for (var i = 0; i < 18; i++) {
        var cate = [];
        for (var j = 0; j < 100; j++) {
            cate.push(Math.random() * 200);
        }
        seriesData.push(cate);
    }
    data.push(echarts.dataTool.prepareBoxplotData(seriesData));
}

通過在控制台console.log(data),console.log(seriesData),console.log(cate),

可以看出外層的迴圈是echarts.dataTool.prepareBoxplotData()執行的次數=5,可以理解為每個樣本有5類元素。內部的迴圈表示有18個樣本,一類元素的樣本數據有100條。

所以要實現的性別基因表的數據結構應該是:

弄清楚數據結構剩下的繪圖操作就是按部就班了,完整代碼我已提交到github

====over====



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我們都知道在javascript里是沒有塊級作用域的,而ES6添加了塊級作用域,塊級作用域能帶來什麼好處呢?為什麼會添加這個功能呢?那就得瞭解ES5沒有塊級作用域時出現了哪些問題。 ES5在沒有塊級作用域的情況下出現的問題: 一。在if或者for迴圈中聲明的變數會泄露成全局變數 二。內層變數可能會覆 ...
  • 實例 讓第二個元素收縮到其他元素的三分之一: 效果預覽 div:nth-of-type(2){flex-shrink:3;} 瀏覽器支持 表格中的數字表示支持該屬性的第一個瀏覽器的版本號。 緊跟在 -webkit-, -ms- 或 -moz- 後的數字為支持該首碼屬性的第一個版本。 屬性 flex- ...
  • 要求: 確保字元串的每個單詞首字母都大寫,其餘部分小寫。 這裡我自己寫了兩種方法,或者說是一種方法,另一個是該方法的變種。 第一種: 第一種方法我認為比較好理解一點。 第二種(這是基於第一種方法上的改動): 第二種方法減少了轉換對象,原理還是一樣的。 兩種方法的結果都是: ps:如有不足或錯誤請指出 ...
  • Function.prototype.toString這個原型方法可以幫助你獲得函數的源代碼, 比如: 輸出: 這個方法真是碉堡了…, 通過合適的正則, 我們可以從中提取出豐富的信息. 函數名 函數形參列表 函數源代碼 這些信息提供了javascript意想不到的靈活性, 我們來看看野生的例子吧. ...
  • <style> li{ list-style: none;width:40px;height: 40px;text-align:center;line-height: 40px;cursor: pointer; } </style>html代碼: <ul id="uls"> <li style="b ...
  • 頭:header 內容:content/container 尾:footer 導航:nav 側欄:sidebar 欄目:column 頁面外圍控制整體佈局寬度:wrapper 左右中:left right center 登錄條:loginbar 標誌:logo 廣告:banner 頁面主體:main ...
  • 開本系列,談談一些有趣的 CSS 題目,題目類型天馬行空,想到什麼說什麼,不僅為了拓寬一下解決問題的思路,更涉及一些容易忽視的 CSS 細節。 解題不考慮相容性,題目天馬行空,想到什麼說什麼,如果解題中有你感覺到生僻的 CSS 屬性,趕緊去補習一下吧。 不斷更新,不斷更新,不斷更新,重要的事情說三遍 ...
  • HTML5的發展速度比任何人的都想像都要更快。更加強大有效的和專業的解決方案已經被開發......甚至在游戲世界中!這裡跟大家分享有10款超級趣味的HTML5游戲,希望大家能夠喜歡! Kern Type, the kerning game 幫助你學習kern游戲的線上小游戲 Z-Type impac ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...