Question

http://jsfiddle.net/CYJAk/13/

ont un coup d'oeil, l'info-bulle ne montre pas du tout. i Donno si infobulle dataFormat est supplantée par une autre fonction. et aussi la date dans l'axe x lorsque zoomé ne montre pas minutes, que dois-je faire pour cela?

Était-ce utile?

La solution

Dans firefox, je peux voir que votre erreur javascript dans votre formatter infobulle est:

Uncaught TypeError: Cannot read property 'name' of undefined

Cela semble contraire à la docs (peut-être parce que ce n'est pas partagé?). Je trouve que l'utilisation

this.points[0].series.name

fixe cela. Notez que vous devrez également changer votre this.y à quelque chose this.points[0].y similaire pour que le travail.

Autres conseils

Du point de vue complètement différent - J'ai aussi des problèmes avec infobulles Highcharts en utilisant Chrome sur mon Ultrabook. Ce problème ne se produisait pas dans IE ou FireFox.

Je n'utilisais série partagées, de sorte que la solution ne ci-dessus ne s'applique.

Il s'avère que le problème est que Chrome reconnaît le Ultrabook a un écran tactile, et permet aux événements tactiles. Highcharts (v2.2.5) ne permet pas l'événement « mouseover » pour les appareils qui se touchent de soutien, mais permet plutôt l'événement « touchstart ». Comme le « touchstart » n'a pas été INTERVENUES quand ma souris planait sur l'icône, l'info-bulle n'a jamais paru.

est la ligne en Highcharts qui ajoute le gestionnaire en fonction du type de dispositif:

.on(hasTouch ? 'touchstart' : 'mouseover', function (e) {
    series.onMouseOver();
    if (e.target._i !== UNDEFINED) { // undefined on graph in scatterchart
        points[e.target._i].onMouseOver();
    }
})

Ainsi, il serait probablement d'ajouter explicitement un gestionnaire « mouseover » et déclencher une « touchstart » dans ces cas.

chèques Highcharts pour l'existence de ontouchstart pour déterminer les appareils tactiles compatibles:

hasTouch = doc.documentElement.ontouchstart !== UNDEFINED,

Essayez ceci:

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;
}

J'utilise Highcharts beaucoup mais ne l'ai jamais utilisé Highstock mais comme Mark a dit cela va à l'encontre des docs. On dirait un bug.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top