作者:mthj1688 | 来源:互联网 | 2023-02-09 17:06
我正在使用角度为2的ng2-charts(http://valor-software.com/ng2-charts/)的圆环图.我一直在寻找一个选项,将文本置于中间但没有成功.我已经在chart.js(依赖)中搜索了ng-chart选项.你知道另一种在Angular 2打字稿中实现这个目标的方法吗?还是有什么我想念的?
1> 小智..:
您可以执行以下操作将文本放置在甜甜圈图的中心。对我有用
HTML:
打字稿
import {Component, NgModule, ElementRef, Inject, ViewChild} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
import {ChartsModule, Color} from 'ng2-charts';
export class App{
@ViewChild('mycanvas')
canvas:ElementRef;
ngOnInit(){
var ctx = this.canvas.nativeElement.getContext("2d");
let me = this;
this.optiOns= {
circumference: Math.PI,
rotation : Math.PI,
animation:{ onComplete: function() {
me.doit(ctx);
}}
}
}
doit(ctx) {
// Chart.types.Doughnut.prototype.draw.apply(this, arguments);
var width = this.canvas.nativeElement.clientWidth,
height = this.canvas.nativeElement.clientHeight;
var fOntSize= (height / 250).toFixed(2);
ctx.fOnt= fontSize + "em Verdana";
ctx.textBaseline = "middle";
ctx.fillStyle = "blue";
var text = "Pass Rate 82%",
textX = Math.round((width - ctx.measureText(text).width) / 2),
textY = height -10;
ctx.fillText(text, textX, textY);
ctx.restore();
}
}
}