巧用Highcharts展示不同維度的數(shù)據(jù)

??????測試報(bào)告的展示,通常需要通過餅圖,柱狀圖,折線圖等來分析對比、占比、走勢等,我們可以采用Highcharts來生成漂亮又實(shí)用的圖表,本文介紹如何將不同緯度的數(shù)據(jù)整合在一張圖表中。

??????以App性能數(shù)據(jù)展示為例。前提,后端已經(jīng)收集到測試數(shù)據(jù),要求將不同維度的數(shù)據(jù)展示在同一個(gè)圖表中,首先需要對數(shù)據(jù)進(jìn)行歸一化處理,具體歸一化的方法不再此處詳述;鼠標(biāo)聚焦后展示詳情,再反歸一化,在詳情中回歸原始數(shù)據(jù)。

image

highcharts官網(wǎng)demo:https://www.hcharts.cn/demo/highcharts

處理如下:
1.依賴文件

 <script src="Highcharts-5.0.12/code/highcharts.js"></script>
<script src="Highcharts-5.0.12/code/highcharts-more.js"></script>

2. 自定義圖表顏色
??????圖表樣式設(shè)置,logo顯示與隱藏設(shè)置屬性credits:{enabled:true/false};
角標(biāo)顯示與隱藏設(shè)置屬性 exporting:{enabled:true/false}

??????自定義顏色屬性colors ,多緯度數(shù)據(jù)用不同顏色展示,可以采用數(shù)組

Highcharts.setOptions({colors:['#049af0','#fedd32','#94cb61','#f9b368','#ff743c','#02df82','#64E572','#FFF263']});

3.填充自定義數(shù)據(jù)
??????*series屬性設(shè)置,json格式表示不同緯度的數(shù)據(jù)

series: [
        {
            name: 'CPU數(shù)據(jù)',
            data:cpuDatas
        },{
           name:xx,
          data:xx,
        }, {
            }
    ]*

4.自定義浮動(dòng)框展示詳情
??????數(shù)據(jù)節(jié)點(diǎn)的詳情可以在tooltip的formatter方法中擴(kuò)充,例如以表格的形式,再通過this.point[x]取出當(dāng)前鼠標(biāo)所至節(jié)點(diǎn)的不同值,示例如下:

tooltip: {*
crosshairs:true,
shared:true,
formatter:function() {
var s ='
性能詳情'+'';
s+='
時(shí)間:'+tmpTime+' '+this.x+'';

s +='
-------------------';

s+='
CPU:'+ parseFloat(dealData(this.point[0].y)).toFixed(2)+'%';

s+='
內(nèi)存:'+ parseFloat(dealData(this.point[1].y)).toFixed(2)+'M';

s+='
流量:'+ parseFloat(dealData(this.point[2].y)).toFixed(3)+'KB';

s+='
掉幀率:'+ parseFloat(dealData(this.point[3].y)).toFixed(2)+'%';

returns;
*}
其中,this.point[x]取出的值是已經(jīng)處理過的(如歸一化處理),保證原數(shù)據(jù)不失真,自定義dealData方法,對數(shù)據(jù)進(jìn)行反歸一化處理操作
6.自定義節(jié)點(diǎn)的形狀和大小
??????為了更好的區(qū)分不同的類型的數(shù)據(jù),可以添加屬性marker設(shè)置節(jié)點(diǎn)的形狀和大小,如下:

series: [
{
name:'CPU',
marker: {
symbol:'square' //每個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)置為小正方形
},
data:formatCpu
}, {
name:'內(nèi)存',
marker: {
symbol:'circle' //每個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)置為小圓圈
},
data:formatMem
}]

symbol有'diamond','circle','square','triangle','triangle-down',缺失為circle。
節(jié)點(diǎn)的大小設(shè)定如下
plotOptions: {
spline: {
marker: {
enable:true,
radius: 1, //自定義節(jié)點(diǎn)的半徑為1px
lineColor:'#666666',
*lineWidth: 0.5 *
*symbol:'diamond'
}
}
如果設(shè)置為通用大小,可以在plotOptions的marker中設(shè)定,如果數(shù)據(jù)類別比較多,需要區(qū)別,在series屬性中設(shè)定。
按照以上步驟處理數(shù)據(jù),就可以在一張表中展示多個(gè)維度的數(shù)據(jù),在測試報(bào)告撰寫中比較實(shí)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容