Как получить многосерийные данные в диаграммах подсказок?
Я хочу отображать несколько рядов данных в подсказке в каждом столбце
tooltip: {
formatter: function() {
return '<span style="color:#D31B22;font-weight:bold;">' +this.series.name +': '+ this.y +'<br/>'+
'<b style="color:#D31B22;font-weight:bold;">'+this.x +'</b><span>';
}
},
и данные
series: [{
showInLegend: false,
name: 'Total Click',
data: [3000,200,50,4000],
color: '#9D9D9D'
}, {
showInLegend: false,
name: 'Total View',
data: [100,2000,3000,4000],
color: '#D8D8D8'
}]
Я использую подобное, но в подсказке инструмента показывается только одна серия данных.
Я хочу отображать данные, подобные этому (Total View: 100 и Total Click: 3000)
Ответы
Ответ 1
попробуйте использовать этот код
обновленный DEMO
tooltip: {
formatter: function() {
var s = [];
$.each(this.points, function(i, point) {
s.push('<span style="color:#D31B22;font-weight:bold;">'+ point.series.name +' : '+
point.y +'<span>');
});
return s.join(' and ');
},
shared: true
},
Ответ 2
Вам нужно использовать общий параметр http://api.highcharts.com/highcharts#tooltip.shared, а затем в formater итерации по каждой точке.
Ответ 3
Если кто-то ищет диаграмму рассеяния, здесь решение, чтобы показать общую подсказку.
formatter: function(args) {
var this_point_index = this.series.data.indexOf( this.point );
var this_series_index = this.series.index;
var that_series_index = this.series.index == 0 ? 1 : 0; // assuming 2 series
var that_series = args.chart.series[that_series_index];
var that_point = that_series.data[this_point_index];
return 'Client: ' + this.point.name +
'<br/>Client Health: ' + this.x +
'<br/>' + this.series.name + ' Bandwidth: ' + this.y + 'Kbps' +
'<br/>' + that_series.name + ' Bandwidth: ' + that_point.y + 'Kbps';
}
ссылка Jsfiddle для решения