Better approach is to customize tooltip template to show no data :

tooltipTemplate: "<%if (label && value){%><%=label%>: <%= value %><%} else {%> No data <%}%>"


I wanted to disable the tooltip all times. The version I'm using is 2.1.6, and I did it like this:

var options = {
    tooltips : {
        enabled: false      

Note: This will not display tool-tip at all, use it only when you want to disable the tool-tip appearing.


If you don't mind a few console messages you can throw an error to exit out of the tooltip method for null values, like so

var myLineChart = new Chart(ctx).Line(data, {
    tooltipTemplate: function (d) {
        if (d.value === null)
            throw '';
            // else return the normal tooltip text
            return d.label + ': ' + d.value;

The alternative would be to extend the chart or write a custom tooltips function

Fiddle -


Using chart.js 2.3.0 and angular-chart.js 1.1.1, I solved the problem globally by resolving the ChartJsProvider provider in my angular.module('shared').config(...) function and specifying a custom label callback for the tooltips option:

            tooltips: {
                enabled: true,
                //mode: 'single',
                callbacks: {
                    label: function (tooltipItem, data) {
                        const tooltip = data.datasets[tooltipItem.datasetIndex];
                        const value =[tooltipItem.index];
                        return value === 0 ? null : tooltip.label + ': ' + value;

By returning null the tooltip is not shown for that specific tooltipItem.

Reference: Chart.js Tooltip Configuration

Related Query

More Query from same tag