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


js 图表插件 chartjs 2.4-LMLPHP
点击 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. }



05-11 13:17