2017-11-07 4 views
0

私はangular4とng2のグラフを使っています。私はドーナツチャートのキャンバスの中心にテキストを表示する必要があります。私はangular4キャンバスを初めて使っています。ang4でキャンバスをレンダリングする方法

Here is my app.component: 

    export class AppComponent { 

     @ViewChild("layout") layout: ElementRef; 


     ngAfterViewInit() { 

     let canvas = this.layout.nativeElement; 

     let context: CanvasRenderingContext2D = this.layout.nativeElement.getContext("2d"); 
     var x = canvas.width/2; 
     var y = canvas.height/2; 

     context.font = '90pt Calibri'; 
     context.textAlign = 'center'; 
     context.fillStyle = 'blue'; 
     context.fillText('Hello Worldetrereygerhg!', x, y); 

     } 


here is my app.component.html 


<div style="display: block; background-color: #e2d8d8;"> 
    <canvas baseChart 
       [data]="doughnutChartData" 
       [colors]="doughnutChartColors" 
       [labels]="doughnutChartLabels" 
       [chartType]="doughnutChartType" 
       (chartHover)="chartHovered1($event)" 
       (chartClick)="chartClicked1($event)" #layout ></canvas> 

</div> 

私は上記のコードは何も機能しません試してみました?テキストはどこにでもキャンバスで表示されていません。 生地ナットチャートのテキストセンターを追加するには?

Library using: 

[https://valor-software.com/ng2-charts/][1] 
Doughnut 


    [1]: https://valor-software.com/ng2-charts/ 

答えて

0

export class AppComponent { 

     canvas: HTMLCanvasElement; 
     ctx: CanvasRenderingContext2D ; 
     container : any; 
     cw : any; 
     ch : any; 


      ngAfterViewInit() { 
      this.container = document.getElementById('container'); 
      this.cw = container.clientWidth; 
      this.ch = container.clientHeight; 
      this.canvas = document.createElement('canvas'); 
      this.ctx = this.canvas.getContext('2d'); 
      this.canvas.width = this.cw; 
      this.canvas.height = this.ch; 
      container.appendChild(this.canvas); 

      } 

<div id="container"></div> 
+0

は私の質問を参照してくださいHTMLでのdivタグの下に追加コンポーネントクラスのキャンバスを構築し、HTMLに動的に挿入し、ドーナツマークアップは、NG2によって提供され-chart、彼らはまだグラフを作成するコンポーネントクラスのサポートを提供されていません。このような状況では、私はキャンバス内のテキスト(ドーナツチャートの中心)を行う必要があります。 –

関連する問題