原創|使用教程|編輯:楊鵬連|2020-08-11 10:09:31.057|閱讀 700 次
概述:在本文中,我們將向您展示如何使用Highcharts創建交互式小提琴圖。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Highcharts是一款純JavaScript編寫的圖表庫,為你的Web網站、Web應用程序提供直觀、交互式圖表。當前支持折線、曲線、區域、區域曲線圖、柱形圖、條形圖、餅圖、散點圖、角度測量圖、區域排列圖、區域曲線排列圖、柱形排列圖、極坐標圖等幾十種圖表類型。
在本文中,我們將向您展示如何使用Highcharts創建交互式小提琴圖。
我們首先描述小提琴圖。然后,我們將引導您完成代碼。
下面演示2012年奧運會男和女運動員的體重以下學科:跆拳道,賽艇,鐵人三項,擊劍。小提琴圖可以直觀直觀地可視化每個學科的分布形狀和概率密度(運動員的體重):
已經知道了圖片,小提琴圖是顯示和比較數據集密度分布的最佳圖表。
現在,該探討代碼部分了。
該代碼分為兩個主要部分:
該功能(請查看GitHub鏈接)是小提琴情節的核心。該函數圍繞內核密度估計(KDE)構建。基本上,小提琴圖是KDE,其負片彼此相對顯示。該函數獲取數據集(在我們的情況下為運動員的體重)以及一些其他參數,然后生成密度形狀和描述性統計量度:這是函數參數的描述:
function processViolin(step, precision, densityWidth, ...args) { processViolin(step, precision, densityWidth, ...args) { …… return {return { xiData,, results,, stat };}; }}step是最小數據集單位。該步驟用于對數據集進行采樣并創建KDE。
let step = 1, precision = 0.00000000001, width = 3; let data = processViolin(step, precision, width, rowing, taekwondo, triathlon, fencing);讓數據= processViolin(步長,精度,寬度,劃船,跆拳道,鐵人三項,擊劍);
創建圖表
圖表創建非常簡單。系列的類型是areasplinerange; 這種圖表類型允許我們使用一個范圍來獲得小提琴的形狀。該范圍是正和負KDE值的計算結果。該選項inverted: true有助于使小提琴圖垂直而不是水平:
chart: { type: "areasplinerange", inverted: true, animation: true }為確保僅顯示所需數量的類別,請確保使用以下代碼限制該數量,其中最小和最大選項具有確切數量的類別范圍,在我們的示例中為四個:“滾動”,“ “跆拳道”,“鐵人三項”和“擊劍”。
yAxis: { .. min: 0, max: data.results.length - 1, ... },獲得正確的小提琴形狀的最后一招是擺脫標記。否則,您將在每個系列的外部行周圍都帶有符號:
plotOptions: { series: { marker: { enabled: false }, ... },到目前為止,小提琴排行榜看起來很棒。不過,為了更加清晰起見,我們可以添加一些描述性統計系數,例如中位數(紅點),最大值(藍點),最小值(藍點),第一個四分位數(黑點)和第三個四分位數(黑點):
stat.forEach((e, i) => { statData.push([]); statData[i].push( { x: stat[i][0], y: i, name: "Min", marker: { fillColor: mColor } }, { y: i, x: stat[i][1], name: "Q1", marker: { fillColor: qColor, radius: 4 } }, { y: i, x: stat[i][2], name: "Median", marker: { fillColor: medianColor, radius: 5 } }, { y: i, x: stat[i][3], name: "Q3", marker: { fillColor: qColor, radius: 4 } }, { y: i, x: stat[i][4], name: "Max", marker: { fillColor: mColor } } ); }); let statCoef = []; for (col = 0; col < 5; col++) { statCoef.push([]); for (line = 0; line < chartsNbr; line++) { statCoef[col].push([(x = stat[line][col]), (y = line)]); } }小提琴圖表是一種方便的工具,可以直觀地顯示數據分布和概率密度。我們鼓勵您在直方圖和箱形圖之外的項目中使用小提琴圖類型,因為這些圖類型中的每一種都揭示了您的數據秘密。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: