Ho creato un'altra variante in base alla risposta di Greg, ma invece per le trame, poiché era quello che mi serviva. Suppongo che possa essere facilmente tradotto anche in plotBands.
Questa variante funziona anche con gli eventi, ma visualizza invece un altro div anziché fare affidamento su una particolare serie nascosta.
L'esempio può essere trovato alla JSFiddle.
Quindi il suggerimento viene aggiunto nello stesso contenitore come il grafico
<div id="tooltip" class="thetooltip">
<p id="tooltiptext" style="margin:0">default</p>
</div>
e quando l'utente sposta il mouse su una trama di un evento viene generato che visualizza la descrizione comando insieme a un suggerimento divisoria
var $tooltip = $('#tooltip');
$tooltip.hide();
var $text = $('#tooltiptext');
displayTooltip = function (text, left) {
$text.text(text);
$tooltip.show();
$tooltip.css('left', parseInt(left)+24 + 'px');
};
var timer;
hideTooltip = function (e) {
clearTimeout(timer);
timer = setTimeout(function() {
$tooltip.fadeOut();
}, 5000);
};
E poi ogni trama è definita con un'opzione aggiuntiva, tooltipText ed eventi per la visualizzazione della div precedente.
plotLines: [{
tooltipText: 'hello',
value: Date.UTC(2011, 2, 28, 0, 1, 1),
color: '#ff6666',
dashStyle: 'solid',
width: 3,
events: {
mouseover: function (e) {
displayTooltip(this.options.tooltipText, this.svgElem.d.split(' ')[1]);
},
mouseout: hideTooltip
}
}
il ToolTipText non fa parte della Highcharts api, ma quando definito è disponibile tramite la proprietà opzioni sull'elemento.
Il css per il suggerimento può essere definito simile a quello predefinito Highcharts semplicemente mimicing il css:
.thetooltip {
border: 1px solid #2f7ed8;
background-color: #fff;
opacity: 0.8500000000000001;
padding: 4px 12px;
border-radius: 3px;
position: absolute;
top:100px;
box-shadow: 1px 1px 3px #666;
}
Grazie per quello! Non ho nemmeno pensato di farlo in quel modo! – Colin
@Colin Segnare questa risposta come accettata se ha risolto la tua domanda. – zykadelic