CanvasTranslate是一個基於HTML 元素的JavaScript庫,主要提供了可視化渲染的解決方案。其最大的特點是支持多種外部數據源,並能夠自動轉換為可視化形式,在使用方面也非常方便。下面從多個方面對CanvasTranslate做詳細的闡述。
一、CanvasTranslate常用API
1、canvastranslate(data,options):根據給定的數據源data和選項options創建一個可視化圖表。
2、addControl(control):向圖表中添加控制器控制。
3、getCanvas():獲取對應的canvas畫布對象。
4、update(data):更新圖表的數據源。
5、resize():重新調整圖表的尺寸。
二、CanvasTranslate的數據源
1、靜態數據源:用戶手動輸入的靜態數據源。
canvastranslate([ {x:0, y:50}, {x:50, y:100}, {x:100, y:50}, {x:150, y:150}, {x:200, y:100} ], { chartType:'linechart', title:'靜態數據線圖' })
2、AJAX數據源:通過AJAX請求獲取的動態數據源。
var data=[]; $.ajax({ url:'./data.json', dataType:'json', success:function(d){ data=d; ct = canvasTranslate(data,{ type:'linechart', title:'AJAX數據線圖' }); } });
3、WebSocket數據源:通過WebSocket接收和傳輸數據。
var ct = CanvasTranslate([],{type:'barchart'}); var ws = new WebSocket('ws://localhost:1111/'); ws.onmessage = function(message){ data = JSON.parse(message.data); ct.update(data); };
三、CanvasTranslate的圖表類型
1、折線圖(linechart):主要用於繪製數據量隨時間變化的曲線圖。
canvastranslate([ {x:'6.1 7:43',y:23}, {x:'6.1 11:00',y:17}, {x:'6.1 14:00',y:12}, {x:'6.1 17:00',y:31}, {x:'6.2 7:00',y:22}, {x:'6.2 11:00',y:19}, {x:'6.2 14:00',y:16}, {x:'6.2 17:00',y:23} ],{ type:'linechart', xLabel:'時間', yLabel:'數據量', title:'每天數據量' });
2、餅圖(piechart):主要用於比較不同項佔總數的比例。
canvastranslate([ {name:'A',value:40}, {name:'B',value:20}, {name:'C',value:30}, {name:'D',value:10} ],{ type:'piechart', title:'分布圖' });
3、柱狀圖(barchart):主要用於比較不同項之間的數量大小關係。
canvastranslate([ {x:'A',y:40}, {x:'B',y:20}, {x:'C',y:30}, {x:'D',y:10} ],{ type:'barchart', xLabel:'項', yLabel:'數量', title:'分組圖' });
四、CanvasTranslate的插件擴展
1、Tooltip提示插件:滑鼠在圖表上時,彈出提示框提示當前數據。
(ct) => {
var showTooltip = function(x, y, contents){
$(''+contents+'原創文章,作者:CXWNL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/361220.html