2015-10-06 55 views

回答

1

一种方法是添加行和列的总和值的另一个系列。为避免默认着色和colorAxis交互,可以更改dataLabel格式,工具提示格式和数据点属性的选项。

的jsfiddle:http://jsfiddle.net/9fp7sarx/6/

另一种解决办法是在相对侧上加入内衬轴,并与设置为求和值类别。值不会自动累加 - 您必须自行设置或自定义代码来设置值。

的jsfiddle:http://jsfiddle.net/8t2ugtm0/

xAxis: [{ 
     categories: ['Alexander', 'Marie', 'Maximilian', 'Sophia', 'Lukas', 'Maria', 'Leon', 'Anna', 'Tim', 'Laura'] 
    },{ 
     linkedTo: 0, 
     opposite: true, 
     categories: [34,543,235,34,4,345,123,345,56,337], 
     labels: { 
      autoRotationLimit: 0 
     } 
    }], 

    yAxis: [{ 
     categories: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], 
     title: null 
    },{ 
     linkedTo: 0, 
     opposite: true, 
     categories: [234,432,123,464,554], 
     title: null 
    }], 
+0

尼斯的想法,以适应现有的功能,建立了答案:) –

1

可以总结,通过添加额外的轴线(如卡茨珀提到的),但捕标签格式化器和中提取当前的x/y的值。然后迭代系列并用相同的坐标对所有点进行求和。

xAxis: [{ 
      categories: ['Alexander', 'Marie', 'Maximilian', 'Sophia', 'Lukas', 'Maria', 'Leon', 'Anna', 'Tim', 'Laura'] 
     },{ 
      linkedTo: 0, 
      opposite: true, 
      tickLength: 0, 
      labels: { 
       formatter:function() { 
        var chart = this.chart, 
         each = Highcharts.each, 
         series = chart.series[0], 
         sum = 0, 
         x = this.value; 

        each(series.options.data, function(p, i) { 
         if(p[0] === x) 
          sum += p[2]; 
        }); 

        return sum; 
       } 
      } 
     }], 

     yAxis: [{ 
      categories: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], 
      title: null 
     },{ 
      linkedTo: 0, 
      opposite: true, 
      tickLength: 0, 
      labels: { 
       formatter:function() { 
        var chart = this.chart, 
         each = Highcharts.each, 
         series = chart.series[0], 
         sum = 0, 
         x = this.value; 
        each(series.options.data, function(p, i) { 
         if(p[1] === x) 
          sum += p[2]; 
        }); 

        return sum; 
       } 
      }, 
      title: null 
     }], 

例子:http://jsfiddle.net/8t2ugtm0/1/

+0

您的解决方案有助于建立从客户端本身的总和。感谢你的回答 –