Javascript chart.js:设置垂直标签方向
我需要在图表栏顶部设置垂直值 实际上我可以设置水平值,但这不是我想要的结果 im使用此代码设置条形图顶部的值:Javascript chart.js:设置垂直标签方向,javascript,css,charts,Javascript,Css,Charts,我需要在图表栏顶部设置垂直值 实际上我可以设置水平值,但这不是我想要的结果 im使用此代码设置条形图顶部的值: animation: { duration: 1, onComplete: function () { if(byDetails){ var chartInstan
animation: {
duration: 1,
onComplete: function () {
if(byDetails){
var chartInstance = this.chart,
ctx = chartInstance.ctx;
ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, Chart.defaults.global.defaultFontStyle, Chart.defaults.global.defaultFontFamily);
ctx.textAlign = 'center';
ctx.textBaseline = 'bottom';
this.data.datasets.forEach(function (dataset, i) {
var meta = chartInstance.controller.getDatasetMeta(i);
meta.data.forEach(function (bar, index) {
ctx.fillStyle = 'black';
dataset.data[index] = parseFloat(dataset.data[index]).toFixed(2);
var data = dataset.data[index];
if (withPersent) {
data = dataset.data[index] + "%";
}
var random = Math.floor(Math.random() * 16) + 5;
ctx.fillText(data, bar._model.x, bar._model.y - random);
});
});
}
}
}
这给了我:
如您所见,条形图顶部的值是水平的,但我需要更改方向,如下所示:
var ctx = document.getElementById(chartDiv);
var myChart = new Chart(ctx, {type: 'bar',........});
PS:我使用的图表如下:
var ctx = document.getElementById(chartDiv);
var myChart = new Chart(ctx, {type: 'bar',........});
有人有办法这么做吗 也许你找到了问题的答案。 我的代码:
动画:{
持续时间:1,
onComplete:函数(){
如果(按详细信息){
var chartInstance=this.chart,
ctx=chartInstance.ctx;
ctx.font=Chart.helpers.fontString(Chart.defaults.global.defaultFontSize,Chart.defaults.global.defaultFontStyle,Chart.defaults.global.defaultFontFamily);
ctx.textb基线='底部';
this.data.datasets.forEach(函数(dataset,i){
var meta=chartInstance.controller.getDatasetMeta(i);
meta.data.forEach(函数(条、索引){
ctx.fillStyle='黑色';
dataset.data[index]=parseFloat(dataset.data[index]).toFixed(2);
var数据=数据集。数据[索引];
如果(不存在){
数据=数据集。数据[索引]+“%”;
}
ctx.save();
var random=Math.floor(Math.random()*16)+5;
平移(bar.\u model.x,bar.\u model.y-随机);
ctx.旋转(-0.5*Math.PI);
ctx.fillText(数据,0,0);
ctx.restore();
});
});
}
}
}
也许你找到了问题的答案。
我的代码:
动画:{
持续时间:1,
onComplete:函数(){
如果(按详细信息){
var chartInstance=this.chart,
ctx=chartInstance.ctx;
ctx.font=Chart.helpers.fontString(Chart.defaults.global.defaultFontSize,Chart.defaults.global.defaultFontStyle,Chart.defaults.global.defaultFontFamily);
ctx.textb基线='底部';
this.data.datasets.forEach(函数(dataset,i){
var meta=chartInstance.controller.getDatasetMeta(i);
meta.data.forEach(函数(条、索引){
ctx.fillStyle='黑色';
dataset.data[index]=parseFloat(dataset.data[index]).toFixed(2);
var数据=数据集。数据[索引];
如果(不存在){
数据=数据集。数据[索引]+“%”;
}
ctx.save();
var random=Math.floor(Math.random()*16)+5;
平移(bar.\u model.x,bar.\u model.y-随机);
ctx.旋转(-0.5*Math.PI);
ctx.fillText(数据,0,0);
ctx.restore();
});
});
}
}
}
我没有得到-1的评论。是的,如果我运行代码段,就会出现语法错误。但是现在,我一直在谷歌上搜索如何写垂直文本,他的想法是如何变换和旋转,以及如何保存和恢复。。。我哪儿也没见过。这是一个很棒的帖子。谢谢,丹尼斯。我没有得到-1的评论。是的,如果我运行代码段,就会出现语法错误。但是现在,我一直在谷歌上搜索如何写垂直文本,他的想法是如何变换和旋转,以及如何保存和恢复。。。我哪儿也没见过。这是一个很棒的帖子。谢谢,丹尼斯。