HighChart 实现从后台取数据来实时更新柱状和折线组图

摘要:
前段时间公司让弄图表,给我说有HighCharts这个js插件,于是上网上搜,由于本人是写后端的,对于JavaScript和jQuery不是很熟悉,虽然找到了模板,但是还是不明白,所以一点一点的改,但好的结果是最后还是搞出来,所以写个随笔,记录和总结下varid=${id};$.ajax({url:'${base}/act/manage/ggdr/getChartsData',type:'POST

前段时间公司让弄图表,给我说有HighCharts这个js插件,于是上网上搜,由于本人是写后端的,对于JavaScript和jQuery不是很熟悉,虽然找到了模板,但是还是不明白,所以一点一点的改,但好的结果是最后还是搞出来,所以写个随笔,记录和总结下

  var id =${id};
    $.ajax({
      url: '${base}/act/manage/ggdr/getChartsData',
      type: 'POST',
      dataType: 'json',
      data:{'id':id},
      success:function(data){
          console.log(data[1].create_time);
          var xData =[];//组装图表行的数据(x轴)
          var yData =[];//组装图表每列的数据(y轴)
          var addData =[];//因为我的图表是柱状图和折线图组合的图表,所以需要组装折线图的列数据
          var sum =0;
          for(var i=0;i<data.length;i++){
              var temp = newDate(data[i].create_time);
              var formateDte = temp.getFullYear()+'-'+(temp.getMonth()+1)+'-'+temp.getDate();
              xData.push(formateDte);
              yData.push(data[i].num); 
              sum +=data[i].num;
              addData.push(sum);
          }

上面这段是我从后台取数据的的代码,大家可以不用在意

varchart;
          chart = newHighcharts.Chart({ 
          chart: { 
              renderTo: 'chart_combo' //关联页面元素div#id //这里是定义图表放在哪,红色的字就是div的id
},
          title: {  //图表标题 
              text: '果果达人参与用户趋势图'}, 
          xAxis: { //x轴 
              categories: xData,  //X轴类别 
              labels:{y:18}  //x轴标签位置:距X轴下方18像素 
}, 
          yAxis: {  //y轴 
              title: {text: '参与人数(人)'}, //y轴标题 
              lineWidth: 1 //基线宽度 
}, 
          tooltip: { 
              formatter: function() { //格式化鼠标滑向图表数据点时显示的提示框 
                  vars; 
                  if (this.point.name) { // 饼状图 
                      s = '<b>' + this.point.name + '</b>: <br>' + this.y+ '人(' +twoDecimal(this.percentage) + '%)'; 
                  } else{ 
                      s = '' + this.x + ': ' + this.y + '人'; 
                  } 
                  returns; 
              } 
          }, 
          
          exporting: { 
              enabled: false  //设置导出按钮不可用 
}, 
          plotOptions:{
              series:{
                  pointWidth:30}
          },
          series: [{ //数据列 
              type: 'column', 
              name: '每日参加人数', 
              data: yData //这里需要一个数组,我们在上面已经组装好的列数据可以直接赋值在这
          }, 
          { 
              type: 'spline', 
              name: '目前总参加人数', 
              data: addData //这里也一样,这是折线图的数据
          }] 
        });      
      }
    })

免责声明:文章转载自《HighChart 实现从后台取数据来实时更新柱状和折线组图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php远程下载文件并保存到指定路径数据仓库架构设计的概念下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

RenderSprite小记

类型定义: 1 /** @private */ 2 public static const IMAGE:int = 0x01; 3 /** @private */ 4 public static const ALPHA:int = 0x02; //透明度变化 5 /** @private...

vue图表组件使用,组件文档echarts

vue图表组件使用,组件文档echarts http://echarts.baidu.com/echarts2/doc/example.html vue组件手动封装barChart.vue <template> <div :class="className" :id="id" :style="{height:height,wi...

ORA12705: Cannot access NLS data files or invalid environment specified

ORA-12705: Cannot access NLS data files or invalid environment specified 将\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下的NLS_LANG< /span>键删掉即可。...

用js生成PDF的方案

在java里,我们常用Itext来生成pdf,在pdf文件里组合图片,文字,画表格,画线等操作,还会遇到中文支持的问题。 那好,现在想直接在web前端就生成pdf怎么办,目前有以下几个解决方案 1:JSPDF.js 这个库支持不同类型的PDF文件格式,包括:文本,数字,图形,图片,同时你可以自由的编辑标题或者其它类型元素。 还支持互动的内容制作,例如,你可...

Qt中所有类型之间的转换

1、char * 与 const char *的转换 char *ch1="hello11";const char *ch2="hello22";ch2 = ch1;//不报错,但有警告ch1 = (char *)ch2; 2、char 与 QString的转换 char 转换为 QString其实方法有很多中,我用的是:char a='b';QStri...

DAG优化

DAG优化 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 大家都学过了代码优化,其中有一个DAG优化,这次我们就练习这个操作。 Input 输入第一行为一个整数n(n < 100),表示该组输入的表达式的个数...