我試圖在圖表v2中懸停在圖表區域時渲染垂直線。我有一個基本的工作版本,但我還沒有想出如何在每次繪製線條時刪除線條(舊線條只是停留在周圍)。如何渲染懸停在圖表上的垂直線
這裏是一個工作的例子 - 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;
};
注意我看到其他的解決方案,這其中第二畫布層上使用圖表畫布之上 - 我不認爲這是一種選擇因爲我需要垂直線出現在圖表頂部,但在我將要實施的自定義工具提示下方。
任何建議表示讚賞,謝謝!
任何想法如何做到這一點與Chart.js 2.6.0? – Devl11