前段时间需要使用免费的图表工具做报表,同事提及了一款图表工具morris。官方网站:
http://www.oesmith.co.uk/morris.js/
该插件遵循BSD协议,可以用于商业软件,也可以进行修改,相对比较宽松。目前插件版本0.4.3,感觉好像没有完全开发完成,因为可以画的图相对有限。
该插件依赖于jquery和Rapha?l,jquery不用说大家都知道,其实Rapha?l才是真正的核心所在。关于Rapha?l可以参考下面的博客,遗憾的是前几天好像中文帮助页面还可以打开,今天打开失败了,还是看英文文档吧
http://www.cnblogs.com/lhb25/archive/2013/01/06/raphael-js-reference.html
使用morris最大有点是简单明了,很符合我们写js的习惯,不像有些图表工具要写xml等,而且不是使用flash,这一点我很喜欢。
下面举个例子,看看怎么使用吧:和官网有些不同点
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>morris测试</title> <link rel="stylesheet" href="http://cdn.oesmith.co.uk/morris-0.4.3.min.css"/> </head> <body> <div style="height:300px;" id="myfirstchart"></div> <script src="http://code.jquery.com/jquery-1.9.0.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script> <script src="http://cdn.oesmith.co.uk/morris-0.4.3.min.js"></script> <script> $(function() { new Morris.Line({ element: $(‘#myfirstchart‘), data: [ { year: ‘第一周‘, value: 20 }, { year: ‘第二周‘, value: 10 }, { year: ‘第三周‘, value: 5 }, { year: ‘第四周‘, value: 5 }, { year: ‘第五周‘, value: 20 } ], xkey: ‘year‘, ykeys: [‘value‘], labels: [‘得分‘], parseTime: false }); }) </script> </body> </html>
由于我们需要饼图,但是这个插件没有提供饼图,自己照着帮助文档很粗略的写了一个饼图的扩展,有机会再上传吧。