Sto provando a eseguire il rendering di una linea verticale quando si passa sopra l'area del tracciato in chartjs v2. Ho una versione di base di lavoro ma non ho capito come rimuovere la linea ogni volta che viene tracciata la linea (le vecchie linee restano attaccate).Come eseguire il rendering di una linea verticale al passaggio del mouse nei grafici
Ecco un esempio di lavoro - https://jsfiddle.net/s9gyynxp/5/
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3]
}]
}
});
// Hook into main event handler
var parentEventHandler = Chart.Controller.prototype.eventHandler;
Chart.Controller.prototype.eventHandler = function() {
var ret = parentEventHandler.apply(this, arguments);
// Draw the vertical line here
var eventPosition = Chart.helpers.getRelativePosition(arguments[0], this.chart);
this.chart.ctx.beginPath();
this.chart.ctx.moveTo(eventPosition.x, 30);
this.chart.ctx.strokeStyle = "#ff0000";
this.chart.ctx.lineTo(eventPosition.x, 340);
this.chart.ctx.stroke();
return ret;
};
Nota ho visto altre soluzioni per questo se un secondo strato di tela è utilizzato sopra delle tele grafico - Non sembra che è un'opzione per me come ho bisogno della linea verticale per apparire in cima al grafico, ma al di sotto di un tooltip personalizzato che realizzerò.
Qualsiasi suggerimento è apprezzato, grazie!
alcuna idea di come per raggiungere questo obiettivo con Chart.js 2.6.0? – Devl11