chart.js 3 个堆叠条形图 - 显示零值的工具提示
chart.js 3 stacked bar chart - tooltip showing for zero values
我有一个堆叠条形图,当我将鼠标悬停在条形底部附近时,工具提示显示零值,如下所示:
...我只希望工具提示显示在非零柱上,如下所示:
图表的 JSON 如下所示:
...即“6-10 小时”是一个数据集,数据中没有值的地方为 0(因此它与正确的条对齐)
除工具提示外,图表功能正常。
有没有办法从工具提示中删除 0 值?
您可以定义一个 tooltip.filter
callback 函数,returns false
用于零值,否则 true
。
请查看下面的可运行代码片段,看看它是如何工作的。
new Chart('myChart', {
type: 'bar',
data: {
labels: ['A', 'B', 'C', 'D'],
datasets: [{
label: 'Dataset',
data: [0, 2, 0, 3],
}]
},
options: {
responsive: false,
plugins: {
tooltip: {
mode: 'dataset',
filter: tooltipItem => tooltipItem.dataset.data[tooltipItem.dataIndex] > 0
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.2/chart.min.js"></script>
<canvas id="myChart"></canvas>
我有一个堆叠条形图,当我将鼠标悬停在条形底部附近时,工具提示显示零值,如下所示:
...我只希望工具提示显示在非零柱上,如下所示:
图表的 JSON 如下所示:
...即“6-10 小时”是一个数据集,数据中没有值的地方为 0(因此它与正确的条对齐)
除工具提示外,图表功能正常。 有没有办法从工具提示中删除 0 值?
您可以定义一个 tooltip.filter
callback 函数,returns false
用于零值,否则 true
。
请查看下面的可运行代码片段,看看它是如何工作的。
new Chart('myChart', {
type: 'bar',
data: {
labels: ['A', 'B', 'C', 'D'],
datasets: [{
label: 'Dataset',
data: [0, 2, 0, 3],
}]
},
options: {
responsive: false,
plugins: {
tooltip: {
mode: 'dataset',
filter: tooltipItem => tooltipItem.dataset.data[tooltipItem.dataIndex] > 0
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.2/chart.min.js"></script>
<canvas id="myChart"></canvas>