2015-10-06 56 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

您的解決方案有助於建立從客戶端本身的總和。感謝你的回答 –