gpt4 book ai didi

javascript - 将 Chart.js 图表放入 JQuery 工具提示中?

转载 作者:行者123 更新时间:2023-12-02 15:58:38 25 4
gpt4 key购买 nike

我想在工具提示中显示 Chart.js 的条形图。这可能吗?

$(function() {
$( document ).tooltip({
track: true,
content:function () {var temp = $(this).prop('title');
temp = theBigArray[temp] //THIS IS THE JSON DATA CONTAINER FOR EACH SENTENCE

var barChartData = {
labels : ["Future","Present","Past"],
datasets : [
{
fillColor : "rgba(151,187,205,0.5)",
strokeColor : "rgba(151,187,205,0.8)",
highlightFill : "rgba(151,187,205,0.75)",
highlightStroke : "rgba(151,187,205,1)",
data : [temp[2], temp[3], temp[4]]
}
]

}
var ctx = document.getElementById("canvas").getContext("2d");
var myTable = new Chart(ctx).Bar(barChartData, {
responsive : false
});
return '<canvas id="canvas"></canvas>';
}
});

当“canvas”在 下,并显示在 html 上时,它工作正常。但是,当我用 div 返回工具提示的内容时,它无法在工具提示 javascript 中显示。

最佳答案

您需要在调用 getElementById 之前创建 Canvas 元素。此外,还需要调整 canvas 元素的大小,Chart.js 才能正常工作。

使用这个

$(function() {
$( document ).tooltip({
track: true,
open: function (event, ui) {
$('.ui-tooltip-content > div').append($("#canvas"))
},
content: function () {
var temp = $(this).prop('title');
var temp = theBigArray[temp] //THIS IS THE JSON DATA CONTAINER FOR EACH SENTENCE

var barChartData = {
labels: ["Future", "Present", "Past"],
datasets: [
{
fillColor: "rgba(151,187,205,0.5)",
strokeColor: "rgba(151,187,205,0.8)",
highlightFill: "rgba(151,187,205,0.75)",
highlightStroke: "rgba(151,187,205,1)",
data: [temp[2], temp[3], temp[4]]
}
]
}

$('body').append($("<canvas id='canvas' width='200' height='100'></canvas>"))
var ctx = document.getElementById("canvas").getContext("2d");
var myTable = new Chart(ctx).Bar(barChartData, {
responsive: false,
animation: false
});

return '<div></div>';
}
})
});

使用CSS

<style>
body > #canvas {
position: fixed;
visibility: hidden;
}
</style>
<小时/>

enter image description here

关于javascript - 将 Chart.js 图表放入 JQuery 工具提示中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31381107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com