Подсказка не подключена к пахни в Highcharts
-
26-10-2019 - |
Вопрос
Посмотрите на это, подсказка вообще не показывает. Я не уверен, что подсказка DataFormat переопределяется какой-либо другой функцией. А также дата по оси x, когда увеличивается, не показывает минуты, что мне делать для этого?
Решение
Под Firefox я вижу, что ваша ошибка JavaScript в вашем форматере подтягивания инструментов:
Uncaught TypeError: Cannot read property 'name' of undefined
Это кажется противоречащим док (Возможно, потому что это не разделяется?). Я нахожу это использованием
this.points[0].series.name
Исправляет это. Обратите внимание, вам также придется изменить свой This.y на нечто подобное this.points[0].y
для этого для работы.
Другие советы
С совершенно другой точки зрения - у меня также были проблемы с подсказками HighCharts, используя Chrome на моем ультрабуке. Эта проблема не возникала в IE или Firefox.
Я не использовал общую серию, поэтому решение выше не применялось.
Оказывается, проблема заключается в том, что Chrome распознает ультрабук имеет сенсорный экран и позволяет сенсорные события. HighCharts (v2.2.5) не позволяет событию «MouseOver» для устройств, которые поддерживают прикосновение, но вместо этого позволяют событию «TouchStart». Поскольку «TouchStart» не произошел, когда моя мышь зависала над значком, подсказка никогда не появилась.
Это линия в HighCharts, которая добавляет обработчик на основе типа устройства:
.on(hasTouch ? 'touchstart' : 'mouseover', function (e) {
series.onMouseOver();
if (e.target._i !== UNDEFINED) { // undefined on graph in scatterchart
points[e.target._i].onMouseOver();
}
})
Таким образом, это, вероятно, будет работать, чтобы явно добавить обработчик «мыши» и запустить «TouchStart» в этих случаях.
Highcharts проверяет наличие OnTouchStart для определения устройств с поддержкой:
hasTouch = doc.documentElement.ontouchstart !== UNDEFINED,
Попробуй это:
formatter: function() {
var point = this.points[0],
x = point.x,
y = point.y,
seriesName = point.series.name;
return Highcharts.dateFormat('%A,%b %e,%Y, %H:%M', x) +'<br/> '+'<strong>'+ seriesName +'</strong>'+ y;
}
Я много использовал HighCharts, но никогда не использовал Highstock, но как Отметка сказал, что это идет вразрез с документами. Похоже на ошибку.