要開始,I have made a short video to show exactly what I'm running into。Chart.js - 鼠標懸停導致圖形閃爍並調整大小
總結視頻:使用Chart.js(2.6.0)時,我可以毫無問題地創建我的圖表;但是當我將鼠標懸停在條/點上時,圖表將調整其元素和閃爍。奇怪的是它完全不一致。有時當我刷新時,它根本沒有這種行爲;但是如果我將鼠標懸停在某個東西上並開始這樣做,它將不會停止,直到我再次刷新或關閉標籤(與此不一致)。發生這種情況時,我不會更改代碼中的任何內容,但它本身就是這樣做的。
爲了解決這個問題,我在SO上引用了許多其他線程,以及Chart.js文檔。在我的解決方案中:我已經提出了將指定的高度/寬度添加到Divs & Canvas創建圖形;將動畫持續時間設置爲0,將懸停動畫持續時間設置爲0,將響應動畫持續時間設置爲0;我已確保將響應設置爲true,並且將維持縱橫比保持爲真,改變了工具提示模式......我嘗試了所有這些,以及其他似乎幾乎沒有影響的小事情。
我很難過!
這裏是我的圖表一個代碼(不如何我抓住了JSON數據等,只是圖):
new Chart($("#runwayChart"), {
type: "horizontalBar"
, data: {
labels: runwayLabels
, datasets: [{
label: "Months Left"
, fill: true
, backgroundColor : "#3333ff"
, borderColor: "#3333ff"
, data: score
}, {
label: "Expenses"
, fill: true
, backgroundColor : "#aa2222"
, borderColor: "#aa2222"
, data: expenses
}, {
label: "Revenue"
, fill: true
, backgroundColor : "#2222aa"
, borderColor: "#2222aa"
, data: revenues
}]
}
, options: {
tooltips: {
mode:'index'
}
, responsive:true
, maintainAspectRatio:true
, animation: {
duration: 0,
}
, hover: {
animationDuration: 0,
}
, responsiveAnimationDuration: 0
}
我會很感激你都可以有任何的幫助!
感謝=)
是您在ajax成功回調中的圖表代碼嗎? –
我們使用的是Angular,而這一節特別是.then()的一部分,如果我們的REST請求是成功的,它就會觸發。 –