Javascript examples for Chart.js:Bar Chart
Chart.js - Writing Labels Inside of Horizontal Bars?
<html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.2.1/Chart.min.js"></script> <script type="text/javascript"> window.onload=function(){/*from w ww .ja v a 2 s. co m*/ var chartData = { labels: ["January", "February", "March", "April", "May", "June"], datasets: [ { fillColor: "#79D1CF", strokeColor: "#79D1CF", data: [60, 80, 81, 56, 55, 40] } ] }; var barOptions = { events: false, showTooltips: false, animation: { duration: 500, easing: "easeOutQuart", onComplete: function () { var ctx = this.chart.ctx; ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontFamily, 'normal', Chart.defaults.global.defaultFontFamily); ctx.textAlign = 'left'; ctx.textBaseline = 'bottom'; this.data.datasets.forEach(function (dataset) { console.log(dataset); for (var i = 0; i < dataset.data.length; i++) { var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model, scale_max = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._yScale.maxHeight; left = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._xScale.left; offset = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._xScale.longestLabelWidth; ctx.fillStyle = '#444'; var y_pos = model.y - 5; var label = model.label; // Make sure data value does not get overflown and hidden // when the bar's value is too close to max value of scale // Note: The y value is reverse, it counts from top down if ((scale_max - model.y) / scale_max >= 0.93) y_pos = model.y + 20; // ctx.fillText(dataset.data[i], model.x, y_pos); ctx.fillText(label, left + 10, model.y + 8); } }); } } }; var ctx = document.getElementById("myChart2").getContext("2d"); var myBar = new Chart(ctx, { type: 'horizontalBar', data: chartData, options: barOptions }); } </script> </head> <body> <canvas id="myChart2" height="300" width="500"></canvas> </body> </html>