JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://npmcdn.com/[email protected]/dist/Chart.bundle.js"></script>
<canvas id="chart"></canvas>
<button id="addData">
Set data
</button>
JavaScript
Chart.plugins.register({
afterDraw: function(chart) {
if (chart.data.datasets.length === 0) {
// No data is present
var ctx = chart.chart.ctx;
var width = chart.chart.width;
var height = chart.chart.height
chart.clear();
ctx.save();
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.font = "16px normal 'Helvetica Nueue'";
ctx.fillText('No data to display', width / 2, height / 2);
ctx.restore();
}
}
});
var ctx = document.getElementById('chart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ['Jan', 'Feb', 'Mar', 'Apr'],
datasets: []
}
});
document.getElementById('addData').addEventListener('click', function() {
myChart.config.data.datasets.push({
label: 'Dataset',
data: [10, 2, 30, 44],
borderColor: 'rgb(255, 99, 132)',
fill: false
});
myChart.update();
});