0
我有一個ChartJS圓環圖,我想點擊一個細分,並在圖表中心顯示細分信息。我有這個工作,但是無論何時鼠標離開圖表段信息消失,我希望它留下,直到另一個圖表段被點擊。在鼠標離開圖表時畫到畫布點擊清除文字
我已經把這個基本的例子在JSFIDDLE
canvas.onclick = function(evt) {
var activePoints = donut.getElementsAtEvent(evt);
if(activePoints[0]) {
var chartData = activePoints[0]['_chart'].config.data;
var idx = activePoints[0]['_index'];
var label = chartData.labels[idx].toUpperCase();
ctx.font = "bold 18px Verdana, Arial, sans-serif";
var textWidth = ctx.measureText(label).width;
ctx.fillStyle = "#000";
ctx.fillText(label, (250/2) - (textWidth/2), (250/2));
}
};
我如何能保持在圖表的中央的文字?
你可以得到的工作的jsfiddle?我試過了,沒有什麼不同(https://jsfiddle.net/fa7s5q30/7/)。將所有代碼移動到'afterDraw'後給出https://jsfiddle.net/fa7s5q30/8/。 – anothershrubery
當然,我已經更新了我的答案。每次圖表重新繪製(這也是鼠標移動)時調用'afterDraw',因此您需要將選定的標籤存儲在某處,否則它將被清除。我選擇將它附加到圖表實例。 –
這在Chrome中非常適用,但不會在IE11中顯示圖表。不要在調試器中標記任何問題。任何方式呢? – anothershrubery