Это возможно, но не с данными, с которыми вы сейчас работаете. Данные тепловой карты - это набор координат, но здесь ваши две серии перекрываются.
Ваши необработанные данные:
[
[0,0,0.2, 0.4],
[0,1,0.1, 0.5],
[0,2,0.4, 0.9],
[0,3,0.7, 0.1],
[0,4,0.3, 0.6]
]
Оттуда вы отображаете две серии: 2018 и 2019 с помощью опции seriesMapping: [{x: 0, y: 1, value: 2}, {x: 0, y: 1, value: 3}]
.
Таким образом, вы получите следующие две серии:
2018 2019 2019 should be
[ [ [
[0, 0, 0.2], [0, 0, 0.4], [1, 0, 0.4],
[0, 1, 0.1], [0, 1, 0.5], [1, 1, 0.5],
[0, 2, 0.4], [0, 2, 0.9], [1, 2, 0.9],
[0, 3, 0.7], [0, 3, 0.1], [1, 3, 0.1],
[0, 4, 0.3] [0, 4, 0.6] [1, 4, 0.6]
] ] ]
Обратите внимание, что в обоих случаях координаты одинаковы, но для 2019 года значение x
должно быть равно 1. Поскольку у вас есть 0 как x
координата для обеих серий, они перекрываются.
Чтобы решить вашу проблему, вам нужно изменить данные (или предварительно обработать их, что проще). Например:
var data = '[[0,0,0.2, 0.4],[0,1,0.1, 0.5],[0,2,0.4, 0.9],[0,3,0.7, 0.1],[0,4,0.3, 0.6]]';
var rows = JSON.parse(data);
rows = $.map(rows, function(arr){
return [[
arr[0], arr[1], arr[2], // 2018
arr[0] + 1, arr[1], arr[3], // 2019
]];
});
// and the seriesMapping changes to
data: {
rows: rows,
firstRowAsNames: false,
seriesMapping: [{x: 0, y: 1, value: 2}, {x: 3, y: 4, value: 5}]
},
Вы можете увидеть это в действии здесь: http://jsfiddle.net/Metoule/qgd2ca6p/6/