当鼠标悬停统计时,Chartjs会显示标签和单位

问题描述 投票:2回答:2

当我的鼠标指针悬停在图表上时,是否可以使用标签和单位?目前只有这个数字。

对于下面的例子,我想表明:

  • 58%标签1
  • 0%Label2
  • 燕子0%
  • 0%Label4
  • 0%Label5

我的选项如下:

var options = {
      //Boolean - Show a backdrop to the scale label
      scaleShowLabelBackdrop : true,
      //Boolean - Whether to show labels on the scale
      scaleShowLabels : true,
      // Boolean - Whether the scale should begin at zero
      scaleBeginAtZero : true,
      scaleLabel : "<%%= Number(value) + ' %'%>",
      legendTemplate: "<ul class=\"<%%=name.toLowerCase()%>-legend\"><%% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%%=datasets[i].strokeColor%>\"></span><%%if(datasets[i].label){%><%%=datasets[i].label%> <strong><%%=datasets[i].value%></strong><%%}%></li><%%}%></ul>",
      tooltipTemplate: "<%%= value %> Label"
    }

使用scaleLabel选项,我在Y轴上显示%,但在悬停弹出窗口中没有显示...

javascript jquery ruby-on-rails label chart.js
2个回答
12
投票

我找到了解决方案on the ChartJS repository on Github

如果您的图表有多个数据,解决方案是使用选项multiTooltipTemplate。否则,你应该使用tooltipTemplate

multiTooltipTemplate: "<%=datasetLabel%> : <%= value %>"  // Regular use
// or
multiTooltipTemplate: "<%%=datasetLabel%> : <%%= value %>"  // Ruby on Rails use

会给你 :

  • Dataset_label:值

3
投票

尝试这个,它会工作。您只需要检查标签功能中的数据是什么。

options: {
  tooltips: {
    callbacks: {
      title: function() {
        return "";
      },
      label: function(item, data) {
        var datasetLabel = data.datasets[item.datasetIndex].label || "";
        var dataPoint = item.yLabel;
        return datasetLabel + ": " + dataPoint + "min";
      }
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.