javascript - 为什么我执行 "for loop"后只得到一个值以在 ChartJS 中显示 "datasets.data"

标签 javascript chart.js

我已经成功显示了该值,但为什么只显示一个值?我想要按顺序排列的值

这是我的代码

/*my datasets code*/
datasets: [{
  label: 'Daily Data',
  data: [730000, 1012000, 1220000, 1831000, 560000, 2012000, 890000],
  borderColor: '#3f89fb',
  borderWidth: 3,
  fill: false
}]

/*my tooltips code*/
tooltips: {
  callbacks: {
    label: function(tooltipItem, chart) {
      for (var i = 0; i < chart.datasets[0].data.length; i++) {
        return chart.datasets[0].data[i] / 1e6 + 'M';
      }
    }
  }
}

这是我的结果,全天值(value)为 0.73M enter image description here

最佳答案

查看Tooltip Item文档。

在您的情况下,tooltipItem.index 包含数据集中此数据项的索引。所以你可以这样做返回值:

function(tooltipItem, chart) {
    return chart.datasets[0].data[tooltipItem.index] / 1e6 + 'M';
}

这是演示:

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: 'Daily Data',
            data: [730000, 1012000, 1220000, 1831000, 560000, 2012000, 890000],
            borderColor: '#3f89fb',
            borderWidth: 3,
            fill: false
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        },
        tooltips: {
            callbacks: {
                label: function(tooltipItem, chart) {
                    return chart.datasets[0].data[tooltipItem.index] / 1e6 + 'M';
                }
            }
        }
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
<canvas id="myChart" width="400" height="400"></canvas>

关于javascript - 为什么我执行 "for loop"后只得到一个值以在 ChartJS 中显示 "datasets.data",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52904188/

相关文章:

javascript - 如何使本身就是 Flex 子级的父级的 Flex 子级的最大高度由其自身的 Flex 状态确定?

javascript - ASP.NET Core Razor 页面 - 获取要在 Chart.js 图表上显示的列表数据

javascript - 使用 Chart.js 显示图表

javascript - math.max() 在 IE 中不起作用

javascript - 分配给 Javascript Var 值的 JSON 数据

javascript - jQuery div 在触发图像上移动时闪烁

Javascript - 使用 2 select 访问数组元素

jquery - 使用 Chart.js 将自定义文本添加到条形图标签值

javascript - ASP.NET MVC 4 JQuery 对话框

javascript - 使用 moment.js 进行日期/时间转换