gpt4 book ai didi

javascript - 如何在没有鼠标悬停的情况下始终在 chartjs 中显示标签?

转载 作者:行者123 更新时间:2023-11-29 10:04:34 25 4
gpt4 key购买 nike

我使用的是最新版本的 Chart Js。我需要始终在图表中显示标签(没有鼠标悬停)。是否可以?如果是,请帮助我编写工作示例代码。

谢谢。

我当前的 Chartjs 代码:

var ctx = $("#myChart");
var label = ctx.data('clabel').split(',');
var val = ctx.data('cval').split(',');


var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: label,
datasets: [{
label: 'Daily Capital',
data: val,
backgroundColor: [
'rgba(0, 153, 34, 0.5)',
],
borderColor: [
'rgba(0, 153, 34, 1);',
],
borderWidth: 2
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
legend: {
display: false,
},
animation: {
duration: 0, // general animation time
},
hover: {
animationDuration: 0,
},
responsiveAnimationDuration: 0, // animation duration after a resize
elements: {
line: {
tension: 0, // disables bezier curves
},
},
tooltips: {
callbacks: {
label: function(tooltipItem, data){
return '£' + tooltipItem.yLabel;
},
title: function(tooltipItem, data){
return '';
},
}
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});

我希望有人能提供帮助。提前谢谢你

最佳答案

这可以通过添加 options onAnimationCompletetooltipevents 来解决。

onAnitmationComplete 函数调用 showToolTip 方法来显示 tooltips 就像悬停事件一样。

通常 tooltipevents 被定义为显示 tooltips 但这里需要传递一个空数组。检查下面的折线图示例。

var options = {
tooltipTemplate: "<%= value %>",

showTooltips: true,

onAnimationComplete: function() {
this.showTooltip(this.datasets[0].points, true);
},
tooltipEvents: []
}

注意:此方法不支持折线图和条形图的多数据集,但支持饼图的多数据集

var data_line = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [65, 59, 80, 81, 56, 55, 40]
}]
};


var options = {
tooltipTemplate: "<%= value %>",

showTooltips: true,

onAnimationComplete: function() {
this.showTooltip(this.datasets[0].points, true);
},
tooltipEvents: []
}

var context = $('#chart3').get(0).getContext('2d');
var chart = new Chart(context).Line(data_line, options);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
<div id="chartContainer">
<canvas id="chart3" width="500" height="500"></canvas>
</div>

关于javascript - 如何在没有鼠标悬停的情况下始终在 chartjs 中显示标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46460933/

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