Добавление к ответу выше.
Я также хотел иметь форматирование всплывающей подсказки по умолчанию.Поэтому я позвонил tooltip.defaultFormatter.call(this, tooltip)
внутри обратного вызова formatter .
Обратите внимание, что он отсортирован в порядке убывания.Просто удалите items.reverse()
, если вы хотите возрастающий порядок.
HighCharts v4.0.4
JSFiddle
function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
function splat(obj) {
return isArray(obj) ? obj : [obj];
}
$(function () {
$('#container').highcharts({
tooltip: {
formatter: function (tooltip) {
var items = this.points || splat(this),
series = items[0].series,
s;
// sort the values
items.sort(function(a, b){
return ((a.y < b.y) ? -1 : ((a.y > b.y) ? 1 : 0));
});
items.reverse();
return tooltip.defaultFormatter.call(this, tooltip);
},
shared: true
},
});
});
HighCharts v3.0.2
Основано на функции defaultFormatter с примененным выше к ней.
tooltip: {
formatter: function (tooltip) {
var items = this.points || splat(this),
series = items[0].series,
s;
// build the header
s = [series.tooltipHeaderFormatter(items[0])];
// sort the values
items.sort(function(a, b){
return ((a.y < b.y) ? -1 : ((a.y > b.y) ? 1 : 0));
});
items.reverse();
// build the values
$.each(items, function (i, item) {
series = item.series;
s.push((series.tooltipFormatter && series.tooltipFormatter(item)) ||
item.point.tooltipFormatter(series.tooltipOptions.pointFormat));
});
// footer
s.push(tooltip.options.footerFormat || '');
return s.join('');
},
shared: true
},