如何在Chart.js上显示数据值 [英] how to display data values on Chart.js
本文介绍了如何在Chart.js上显示数据值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想问一下是否可以使用Chart.js
HTML
< canvas id =myChart1height =300width =500>< / canvas>
< canvas id =myChart2height =300width =500>< / canvas>
脚本
var chartData = {
labels:[January,February,March,April,May,June],
数据集:[
{
fillColor:#79D1CF,
strokeColor:#79D1CF,
数据:[60,80,81,56,55,40]
}
]
};
var ctx = document.getElementById(myChart1)。getContext(2d);
var myLine = new Chart(ctx).Line(chartData,{
showTooltips:false,
onAnimationComplete:function(){
var ctx = this.chart .ctx;
ctx.font = this.scale.font;
ctx.fillStyle = this.scale.textColor
ctx.textAlign =center;
ctx.textBaseline = bottom;
this.datasets.forEach(function(dataset){
dataset.points.forEach(function(points){
ctx.fillText(points.value, points.x,points.y - 10);
});
})
}
});
var ctx = document.getElementById(myChart2)。getContext(2d);
var myBar = new Chart(ctx).Bar(chartData,{
showTooltips:false,
onAnimationComplete:function(){
var ctx = this.chart .ctx;
ctx.font = this.scale.font;
ctx.fillStyle = this.scale.textColor
ctx.textAlign =center;
ctx.textBaseline = bottom;
this.datasets.forEach(function(dataset){
dataset.bars.forEach(function(bar){
ctx.fillText(bar.value, bar.x,bar.y - 5);
});
})
}
});
小提琴 - http://jsfiddle.net/uh9vw0ao/
I would like to ask if it's possible using Chart.js to display data values? I want to print the graph.
Thanks for any advice.
解决方案
Late edit: there is an official plugin for Chart.js 2.7.0+
to do this: https://github.com/chartjs/chartjs-plugin-datalabels
Original answer:
You can loop through the points / bars onAnimationComplete and display the values
Preview
HTML
<canvas id="myChart1" height="300" width="500"></canvas>
<canvas id="myChart2" height="300" width="500"></canvas>
Script
var chartData = {
labels: ["January", "February", "March", "April", "May", "June"],
datasets: [
{
fillColor: "#79D1CF",
strokeColor: "#79D1CF",
data: [60, 80, 81, 56, 55, 40]
}
]
};
var ctx = document.getElementById("myChart1").getContext("2d");
var myLine = new Chart(ctx).Line(chartData, {
showTooltips: false,
onAnimationComplete: function () {
var ctx = this.chart.ctx;
ctx.font = this.scale.font;
ctx.fillStyle = this.scale.textColor
ctx.textAlign = "center";
ctx.textBaseline = "bottom";
this.datasets.forEach(function (dataset) {
dataset.points.forEach(function (points) {
ctx.fillText(points.value, points.x, points.y - 10);
});
})
}
});
var ctx = document.getElementById("myChart2").getContext("2d");
var myBar = new Chart(ctx).Bar(chartData, {
showTooltips: false,
onAnimationComplete: function () {
var ctx = this.chart.ctx;
ctx.font = this.scale.font;
ctx.fillStyle = this.scale.textColor
ctx.textAlign = "center";
ctx.textBaseline = "bottom";
this.datasets.forEach(function (dataset) {
dataset.bars.forEach(function (bar) {
ctx.fillText(bar.value, bar.x, bar.y - 5);
});
})
}
});
Fiddle - http://jsfiddle.net/uh9vw0ao/
这篇关于如何在Chart.js上显示数据值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文