首页 > 解决方案 > 如何使用 highcharts 指向数据中第二个索引的范围(dataClasses)?

问题描述

我已经使用 highchart 绘制了一个热图,但我想为 y 轴提供颜色范围,即数据数组中的第二个索引,但它会自动采用第三个索引。

下面是jsfiddle代码。

我的代码链接

     colorAxis: {
         dataClasses: [{
             from: 0,
             to: 10,
             color: 'rgb(191, 27, 0)'
         },{
             from:10,
             to:30,
             color:'rgb(234, 100, 96)'
         },{
             from:30,
             to:100,
             color:'rgb(242, 201, 109)'
         },{
             from:100,
             color:'rgb(98, 158, 81)'


         }]
     },


        series: [{
        name: 'Sales per employee',
        borderWidth: 1,
        data: [[0, 0, 10], [0, 1, 19], [0, 2, 8], [0, 3, 24], [0, 4, 67], [1, 0, 92], [1, 1, 58], [1, 2, 78], [1, 3, 117], [1, 4, 48], [2, 0, 35], [2, 1, 15], [2, 2, 123], [2, 3, 64], [2, 4, 52], [3, 0, 72], [3, 1, 132], [3, 2, 114], [3, 3, 19], [3, 4, 16], [4, 0, 38], [4, 1, 5], [4, 2, 8], [4, 3, 117], [4, 4, 115], [5, 0, 88], [5, 1, 32], [5, 2, 12], [5, 3, 6], [5, 4, 120], [6, 0, 13], [6, 1, 44], [6, 2, 88], [6, 3, 98], [6, 4, 96], [7, 0, 31], [7, 1, 1], [7, 2, 82], [7, 3, 32], [7, 4, 30], [8, 0, 85], [8, 1, 97], [8, 2, 123], [8, 3, 64], [8, 4, 84], [9, 0, 47], [9, 1, 99], [9, 2, 31], [9, 3, 48], [9, 4, 91]],
        dataLabels: {
            enabled: true,
            color: '#000000'
        }
    }]

在此处输入图像描述

实际数据格式如下

data: [[0, 0, 10], [0, 1, 19]]

现在范围绘制在第二个索引(即 10,19)的基础上,但我想根据第一个索引(即 0,1)进行绘制。

标签: javascriptchartshighchartsdata-class

解决方案


更改将用于计算颜色的属性(点对象)的默认名称:

Highcharts.seriesTypes.heatmap.prototype.colorKey = 'x'; // 'value' by default

现场演示:http: //jsfiddle.net/BlackLabel/z3b1Lcqg/

文档: https ://www.highcharts.com/docs/extending-highcharts/extending-highcharts


推荐阅读