Chartjs展示标签&鼠标悬停统计时的单位

时间:2015-05-19 19:55:23

标签: javascript jquery ruby-on-rails label chart.js

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

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

  • 58%Label1
  • 0%Label2
  • 0%Label3
  • 0%Label4
  • 0%Label5

enter image description here

我的选项如下:

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轴上显示%,但在悬停弹出窗口中没有显示...

2 个答案:

答案 0 :(得分:12)

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

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

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

会给你:

  • Dataset_label:value

答案 1 :(得分:2)

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

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";
      }
    }
  }
}