PS:该图表插件对手机端支持挺好
网上的文章大多数的参数都是老版本的过时的,最新api查看官网http://www.chartjs.org/docs/ 



点击 tags可以下载其它版本

使用方法

第一步下载   copy dist文件夹下面的资源文件到项目   接着引入 

  1. <script src="${baseURL}/js/3rd-plug/Chart.js-2.4.0/Chart.bundle.js" type="text/javascript"></script>
  2. <script src="${baseURL}/js/3rd-plug/Chart.js-2.4.0/utils.js" type="text/javascript"></script>


第二步 然后dom创建一个画布元素设置高宽

  1. <div class="chartsdiv" id="chartsdiv">
  2. <canvas id="canvas" style="height:300px;" height='300'></canvas>
  3. </div>

第三步  js设置config 全局引用  option和data,然后初始化 config,方便以后数据data更新能通知报表更新数据,因为初始化存的是config引用,config每次更新的时候报表都会去取config,如果单独初始化报表的时候直接给一个data数据,当data数据更改的时候,data的引用的指针改变,自然和报表初始化的时候的data指针不同,所以没法更新

全局初始化config配置

  1. var config = {
  2. type:'line',
  3. options:{
  4. title:{display:true,text:'成交数据 单位(元)'},
  5. tooltips:{mode: 'index',intersect:false},
  6. type: 'line',
  7. scales: {
  8. xAxes: [{
  9. display: true,
  10. scaleLabel: {
  11. display: true,
  12. labelString: '月'
  13. }
  14. }],
  15. yAxes:[{
  16. display: true,
  17. scaleLabel: {
  18. display: true,
  19. labelString: '单位(元)'
  20. }
  21. }]
  22. }
  23. },
  24. data:{
  25. }
  26. }

初始化chartjs data是没有数据的 做全局数据

  1. var ctx = document.getElementById("canvas").getContext("2d");
  2. $(function() {
  3. window.myLineChart = Chart.Line(ctx, config);
  4.     })

初始化数据传入 更新报表

  1. function refeshCharts(areaFangjiaList){
  2. var xcategory = [];
  3. var ysaveprice = [];
  4. var esavgprice = [];
  5. $(areaFangjiaList).each(function(){
  6. xcategory.push(this.FDATE)
  7. ysaveprice.push(this.FisrtHandAvgPrice)
  8. esavgprice.push(this.SeondHandAvgPrice)
  9. })
  10. config.data={
  11. labels: xcategory,
  12. datasets: [{
  13. label: "一手均价",
  14. borderColor: window.chartColors.red,
  15. data: ysaveprice
  16. }, {
  17. label: "二手均价",
  18. borderColor: window.chartColors.blue,
  19. data: esavgprice
  20. }]
  21. }
  22. window.myLineChart.update();
  23. }



最新文章

  1. 合并文件夹里多个excel
  2. 定时调度框架Quartz随笔
  3. 分布式日志1 用c#的队列写日志
  4. Linux Shell系列教程之(十六) Shell输入输出重定向
  5. [转] Centos 6.4 python 2.6 升级到 2.7
  6. Application,Session,Cookie,ViewState和Cache区别
  7. 使用Ef时,对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性。
  8. LR之脚本调试
  9. js 判断输入是否为正整数
  10. [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域
  11. long([x[, base]]) :将一个字符转换为long类型
  12. Winform中修改WebBrowser控件User-Agent的方法(已经测试成功)
  13. C++ trivial和non-trivial构造函数及POD类型(转)
  14. java String字符串进行排序
  15. Activity和Fragment之间解耦
  16. 让IE的Button自适应文字宽度兼容
  17. oracle-查询执行速度慢的sql
  18. 安装scrapy框架的常见问题及其解决方法
  19. 云计算CRM软件厂商,你青睐哪家?
  20. vue 快速入门、常用指令(1)

热门文章

  1. c#实现统计代码运行时间
  2. Android倒计时CountDownTimer小记
  3. JSP,servlet和数据库之间传值出现乱码的问题
  4. struts2的DevMode(开发模式)模式
  5. 【LeetCode】41. First Missing Positive (3 solutions)
  6. C# 获取当前打开的文件夹
  7. JMeter学习笔记--详解JMeter配置元件
  8. AP_应付模组在月结的处理
  9. Python2 字典 has_key() 方法
  10. python标准库介绍——4 string模块详解