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/n/361220.html