图表.js 2.0:如何更改工具提示的标题

2022-08-30 14:00:43

原谅我有时英语不好。荷兰语是我的母语。

我创建了一个图表.js折线图,它显示了我的主电源智能电表报告的能源使用情况。我几乎让它像我想要的那样工作,但有一件事我无法设法让它以我想要的方式工作,因为我不了解一点东西。

在用户“iecs”主题“Chart.js V2:向工具提示标签添加前缀或后缀”的帮助下,我能够在工具提示中更改标签。它现在很好地显示了我想要的前缀和后缀:

tooltips: {
    enabled: true,
    mode: 'single',
    backgroundColor: 'rgba(0,0,0,0.9)',
    titleFontSize: 14,
    titleFontStyle: 'bold',
    titleFontColor: "#FFF",
    bodyFontSize: 12,
    bodyFontStyle: 'normal',
    bodyFontColor: "#FFF",
    footerFontSize: 12,
    footerFontStyle: 'normal',
    footerFontColor: "#FFF",
    cornerRadius: 5,
    callbacks: {
        label: function(tooltipItems, data) { // Solution found on https://stackoverflow.com/a/34855201/6660135
            //Return value for label
            return 'Usage: ' + tooltipItems.yLabel*1000 + ' watt';
        }
    }
}

当我尝试添加完全相同的代码来修改标题时,我在应该显示日期和时间的地方得到了:undefined

tooltips: {
    enabled: true,
    mode: 'single',
    backgroundColor: 'rgba(0,0,0,0.9)',
    titleFontSize: 14,
    titleFontStyle: 'bold',
    titleFontColor: "#FFF",
    bodyFontSize: 12,
    bodyFontStyle: 'normal',
    bodyFontColor: "#FFF",
    footerFontSize: 12,
    footerFontStyle: 'normal',
    footerFontColor: "#FFF",
    cornerRadius: 5,
    callbacks: {
        title: function(tooltipItems, data) {
            //Return value for title
            return 'Date: ' + tooltipItems.xLabel + ' GMT+2';
        },
        label: function(tooltipItems, data) { // Solution found on https://stackoverflow.com/a/34855201/6660135
            //Return value for label
            return 'Usage: ' + tooltipItems.yLabel*1000 + ' watt';
    }
}

随着用户“Lukman”在主题“打印JavaScript对象的内容?[复制]“我发现我可以显示”工具提示项对象“的内容:

alert(tooltipItems.toSource())

这在“标题”和“标签”之间的“工具提示项”对象上显示了一个有趣的差异。

“标签”处的“工具提示项”对象将此显示为内容:

({xLabel:"2016-08-07 23:41:57", yLabel:0.261, index:70, datasetIndex:0})

当“标题”处的“工具提示项”对象将其显示为内容时:

[{xLabel:"2016-08-07 23:41:57", yLabel:0.261, index:70, datasetIndex:0}]

开头字符和结束字符不同。“标签”的那个可以阅读,但“标题”的那个不能用它来阅读,因为它显示我“未定义”。整个标题现在将是tooltipItems.yLabeltooltipItems.xLabelDate: undefined GMT+2Date: 2016-08-07 23:41:57 GMT+2

我弄错了什么?有人可以解释一下“工具提示项”的对象内容的2个输出之间的差异以及如何读取“xLabel”和“yLabel”索引吗?


答案 1

我也遇到了类似的问题,但这个问题得到了解决。

return 'Date: ' + tooltipItems[0].xLabel + ' GMT+2';

答案 2