chartjs v2のプロット領域にカーソルを置いたときに縦線を描画しようとしています。私は基本的な作業バージョンを持っていますが、ラインが描かれるたびにラインを取り除く方法は分かりませんでした。私はそれがためのオプションだとは思わない - ここchartjsのホバーに垂直線をレンダリングする方法
は実施例である - 私は二帆布層がチャートキャンバスの上で使用する場合、これに他のソリューションを見てきました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;
};
注意私はチャートの上に縦線を表示する必要がありますが、私は実装するカスタムツールチップの下にあります。
ご意見ありがとうございます。あなたのラインがところで
...
this.clear();
this.draw();
...
を描く前に
これを実現するためにどのように任意のアイデアChart.js 2.6.0で? – Devl11