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-hant/n/361220.html
微信掃一掃
支付寶掃一掃