Chart.js中的自定义工具提示样式

时间:2018-09-20 17:46:30

标签: html angular tooltip chart.js styling

有人知道是否可以通过这样一种方式来设置Chart.js工具提示的样式,以使文本的值显示为更粗体,而其前面的文本显示为粗体?

当前版本:

current version

所需版本:

desired version

到目前为止,我已经使用带有多字符串数组的回调来创建必要的行,但是我无法正确设置工具提示的样式。

callbacks: {
  label: function (tooltipItem, data) {
    if (tooltipItem.datasetIndex === 1 || tooltipItem.datasetIndex === 2) {
      let line1, line2, line3, line4, line5;
      line1 = data.datasets[tooltipItem.datasetIndex].name;
      line2 = 'Transaction Volume: ' + data.datasets[tooltipItem.datasetIndex].tv[tooltipItem.index];
      line3 = 'YoY%: ' + data.datasets[tooltipItem.datasetIndex].tvYoY[tooltipItem.index];
      line4 = 'Deal Count: ' + data.datasets[tooltipItem.datasetIndex].dc[tooltipItem.index];
      line5 = 'YoY%: ' + data.datasets[tooltipItem.datasetIndex].dcYoY[tooltipItem.index];
      const multistringText = [line1];
      multistringText.push(line2);
      multistringText.push(line3);
      multistringText.push(line4);
      multistringText.push(line5);
      return multistringText;
    }
    ...

工具提示回调工作正常,但是它阻止了我对回调的特定部分进行样式设置?我正在努力使用chartJS的自定义工具提示功能来实现相同的功能,该功能的文档非常有限。

1 个答案:

答案 0 :(得分:0)

要执行此操作,您需要渲染custom tooltip。 Chart.js网站上有一个good example

这是很多工作,因为您需要自己处理所有事情(例如定位),而且是获得如此高格式结果的唯一方法。