读书人

Flot引见

发布时间: 2012-12-30 10:43:15 作者: rapoo

Flot介绍

最近在项目里面要用到JavaScript来绘制图表,JQuery的插件Flot是一个不错的选择。和我之前介绍过的D3不同,它的唯一目的就是用来绘制曲线图的,即便是它的不同插件的功能,也基本上都在这个范畴之内。

Flot采用Canvas绘制图形(Web总共就有三种常见方式来绘制图形,不了解的同学请看这篇文章),在数据量非常大的时候,你需要考虑浏览器端的性能问题。顺便提一句,D3是采用SVG来绘制图形的,从我自己的体会来说,对于拖动图来说,SVG会比较流畅。

首先介绍一下数据的格式。数据来自一个数组嵌套的JSON格式,如:

1[[0, 3], [4, 8], [8, 5], [9, 13]]

这就给定了一个二维图上供绘制连线的几个点。

数据可以直接通过API传给Flot,让它自行决定数据展示的样子:

123456789101112$(function () {????var d1 = [];????for (var i = 0; i < 14; i += 0.5)????????d1.push([i, Math.sin(i)]);?????var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];?????// a null signifies separate line segments????var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];?????????$.plot($("#placeholder"), [ d1, d2, d3 ]);});

这是官网上的例子,代码很简洁。从数据上看,其实是三层数组嵌套:

读书人网 >Web前端

热点推荐