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

前段时间公司让弄图表,给我说有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 = new Date(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); }

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

var chart;
          chart = new Highcharts.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() { //格式化鼠标滑向图表数据点时显示的提示框 var s; if (this.point.name) { // 饼状图 s = '<b>' + this.point.name + '</b>: <br>' + this.y+ '人(' + twoDecimal(this.percentage) + '%)'; } else { s = '' + this.x + ': ' + this.y + '人'; } return s; } }, exporting: { enabled: false //设置导出按钮不可用  }, plotOptions:{ series:{ pointWidth:30 } }, series: [{ //数据列 type: 'column', name: '每日参加人数', data: yData //这里需要一个数组,我们在上面已经组装好的列数据可以直接赋值在这 }, { type: 'spline', name: '目前总参加人数', data: addData //这里也一样,这是折线图的数据 }] }); } })

转载于:https://www.cnblogs.com/LoveHe/p/4238850.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Highcharts是一个用于制作交互式图表的JavaScript库,可以创建各种类型的图表,包括复合图表。 要创建一个复合图表,需要使用Highcharts的组合图表功能,该功能允许将多个图表组合在一起以显示多个数据系列。以下是一个创建复合图表的基本步骤: 1. 创建一个空的Highcharts图表对象。 2. 添加一个或多个数据系列,每个系列对应一个不同的图表类型,例如柱状图、折线图、面积图等。 3. 配置每个数据系列的选项,包括颜色、标签、线型等。 4. 配置图表的整体选项,例如标题、图例、坐标轴等。 5. 将图表渲染到HTML页面中。 下面是一个创建包含柱状图和折线图的复合图表的示例代码: ```javascript // 创建一个空的Highcharts图表对象 var chart = Highcharts.chart('container', { title: { text: '复合图表示例' }, xAxis: { categories: ['一月', '二月', '三月', '四月', '五月', '六月'] }, yAxis: [{ // 配置左侧Y轴 title: { text: '销售额' } }, { // 配置右侧Y轴 title: { text: '利润' }, opposite: true }], series: [{ // 添加第一个数据系列,使用柱状图 name: '销售额', type: 'column', yAxis: 0, data: [100, 200, 150, 250, 300, 200] }, { // 添加第二个数据系列,使用折线图 name: '利润', type: 'line', yAxis: 1, data: [50, 100, 80, 120, 150, 100] }] }); ``` 在上面的代码中,我们创建了一个包含柱状图和折线图的复合图表,其中左侧Y轴表示销售额,右侧Y轴表示利润。柱状图表示销售额,折线图表示利润。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值