删除标签并仅在条形图的工具提示中显示值

时间:2017-02-17 09:29:53

标签: jquery charts chart.js

我正在使用ChartJS库来创建图表。在工具提示中,我显示了我创建的数据集中的数据值。如果图表类型是 donut ,则可以使用它。否则它不会起作用或 bar horizo​​ntalbar 图表。

无论我做什么,它都会显示带有标签的数据。

Working JSFiddle of Doughnut Chart with data in tooltip

Doughnut Chart

Working JSFiddle of Bar Chart with label + data in tooltip

Bar Chart

我想要做的就是删除条形图工具提示中显示的标签。



var ctx = document.getElementById("myChart");

var myChart = new Chart(ctx, {
  type: 'bar',
  data: {
    labels: [
      "Men",
      "Women",
      "Unknown"
    ],
    datasets: [{
        label: 'Sweden',
        data: [60, 40, 20],
        backgroundColor: [
          'rgba(158, 216, 202, 0.75)',
          'rgba(255, 150, 162, 0.75)',
          'rgba(160, 160, 160, 0.75)'
        ]
      },
      {
        label: 'Netherlands',
        data: [40, 70, 10],
        backgroundColor: [
          'rgba(158, 216, 202, 0.5)',
          'rgba(255, 150, 162, 0.5)',
          'rgba(160, 160, 160, 0.5)'
        ]
      },
      {
        data: [33, 33, 34],
        backgroundColor: [
          'rgba(158, 216, 202, 0.25)',
          'rgba(255, 150, 162, 0.25)',
          'rgba(160, 160, 160, 0.25)'
        ]
      }
    ]
  },
  options: {
    tooltips: {
      callbacks: {
        label: function(tooltipItem, data) {
          return data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
        }
      }
    }
  }
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.bundle.min.js"></script>

<canvas id="myChart" width="400" height="200"></canvas>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:4)

只需使用空值a选项即可。像这样:

title

请参阅updated jsfiddle

答案 1 :(得分:0)

作为 pumpkinzzz 答案的替代方法,如果您想显示标签名称,则可以采用这种方法。将标题留空,并将您的字符串返回到 label 属性。这是因为工具提示的标签颜色是在该属性下定义的。

虽然这看起来没有必要,但如果您的标签包含图表数据(都在一个字符串下),那么默认情况下工具提示会显示数据两次。如果您想避免这种情况,那么下面的代码可能会有所帮助。

title: function(tooltipItems, data) {
  return '';
},
label: function(tooltipItem, data) {
  return data.labels[tooltipItem.index].toString(); //Some IDEs throw an error if you don't cast to a string
}