在悬停时从 Chart.js 中删除数据文本

特里普

我将 Chart.js 用于圆环图。悬停在甜甜圈部分时,我试图显示“40% 人”,但它在“数据集”对象中显示数据,显示“40% 人:40”。如果您将鼠标悬停在甜甜圈的海军部分,您将看到数据显示。我已经尝试在数据数组上使用 javascript split 和 splice 但无法删除 : 40 。我的问题是如何为每个标签显示:“40% 人”而不是“40% 人:40”等等?

https://codepen.io/zepzia/pen/WdrWww

  <div class="wrapper">
    <canvas id="commitments-area" width="200" height="200"></canvas>
  </div>


.wrapper {
  height: 200px;
  width: 200px;
  margin: 0 auto;
}


var oilCanvas = document.getElementById("commitments-area");

Chart.defaults.global.defaultFontSize = 12;
Chart.defaults.global.legend.display = false;
Chart.defaults.global.tooltips;



var oilData = {
    labels: [
        "People (40%)",
        "Aliens (32%)",
        "Dogs (13%)",
        "Whales (15%)"
    ],
    datasets: [
        {

            data: [40, 32, 13, 15],
            backgroundColor: [
                "#13284a",
                "#4b9cd3",
                "#3b7ca7",
                "#99cdec",
                "#84d1ff"
            ]
        }]
};

var chartOptions = {
    legend: {
      position: 'bottom'
    },

    animation: {
      animateRotate: true,
      animateScale: true
    },


};

var pieChart = new Chart(oilCanvas, {
  type: 'doughnut',
  data: oilData,
  options: chartOptions
});
纳撒尼尔·弗里克

这是答案,我已将 codepen 中的 js 发布在这里,请参阅更新的“选项”,代码段底部的“返回 totipLabel”部分,以获取您正在寻找的 X% 结果。

感谢http://blog.cryst.co.uk/2016/06/03/adding-percentages-chart-js-pie-chart-tooltips/为指向我在这一个正确的方向:

var oilCanvas = document.getElementById("commitments-area");

Chart.defaults.global.defaultFontSize = 12;
Chart.defaults.global.legend.display = false;
Chart.defaults.global.tooltips;



var oilData = {
    labels: [
        "People",
        "Aliens",
        "Dogs",
        "Whales"
    ],
    datasets: [
        {

            data: [40, 32, 13, 15],
            backgroundColor: [
                "#13284a",
                "#4b9cd3",
                "#3b7ca7",
                "#99cdec",
                "#84d1ff"
            ]
        }]
};

var chartOptions = {
    legend: {
      position: 'bottom'
    },

    animation: {
      animateRotate: true,
      animateScale: true
    },


};

var pieChart = new Chart(oilCanvas, {
  type: 'doughnut',
  data: oilData,
      options: {
        tooltips: {
            callbacks: {
                label: function(tooltipItem, data) {
                    var allData = data.datasets[tooltipItem.datasetIndex].data;
                    var tooltipLabel = data.labels[tooltipItem.index];
                    var tooltipData = allData[tooltipItem.index];
                    var total = 0;
                    for (var i in allData) {
                        total += allData[i];
                    }
                    var tooltipPercentage = Math.round((tooltipData / total) * 100);
                    return tooltipLabel + ': ' + ' ' + tooltipPercentage + '%';
                }
            }
        }
    }
});
.wrapper {
  height: 200px;
  width: 200px;
  margin: 0 auto;
}
<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/2.5.0/Chart.min.js"></script>

<div class="wrapper">
<canvas id="commitments-area" width="200" height="200"></canvas>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Chart.js-如何在悬停时禁用所有功能

在React.js中更改行悬停时的图像

图表js显示鼠标悬停时的旧数据

单击chart.js中的按钮时更改数据

使用chart.js将鼠标悬停在图表上时移动垂直线

悬停点时如何在Chart.js上添加垂直线?

在Chart.js中悬停时更改点大小和颜色

图表Js显示鼠标悬停时的旧数据

添加数据后删除数据(chart.js)

Chart.js动画:悬停时触发onComplete事件

错误的chart.js点在悬停时突出显示

悬停时如何在chart.js中的特定点添加水平线?

Chart.js-自定义CSS到鼠标悬停时的数据集

在Vue JS中基于ID悬停时显示Div

悬停在JS中的flexdashboard图上或悬停动作时显示工具提示

如何防止悬停数据显示在Chart.JS中?

在chart.js中的鼠标悬停时设置X标签格式

Chart.js-填充文本仅在悬停在甜甜圈的一部分上时出现

plotly.js:“显示悬停时的最近数据”和“比较悬停时的数据”?

Chart.js 2.0 - 工具提示在悬停时显示不完整的数据

Chart js scatter - 在悬停时显示标签

当我使用 react js 从 firebase 中删除数据时,它会删除数据并输入一个空值。如何避免空条目

Chart.js 动画仅在悬停时触发?

Chart.js 在悬停时显示旧图表

Chart.js 仅在悬停时显示字体更改

chart.js 条形图数据标签在悬停在图表上时消失

Chart.js - 使用 moment 时无法看到悬停时的工具提示

使用 JS 在悬停时显示文本

将卡片悬停时播放视频并在反应 js 中未悬停时显示默认图像