手记

angular2+highcharts+chart.js

这里是在ionic2下使用highchairs和chart.js的简单示例
chartjs部分参考http://www.jianshu.com/p/bc18132da812

1.安装hightcharts

npm install highcharts --save
typings install dt~highcharts --global --save

2.编辑

html文件
在html中添加一个div来显示图表

<ion-content class="about">  <!--chart.js-->
  <canvas id="myChart" width="400" height="400"></canvas>
  <!--highchart-->
  <div #chart></div></ion-content>

ts文件

import {Component,ElementRef,AfterViewInit,OnDestroy,ViewChild} from '@angular/core';import {NavController} from 'ionic-angular';import * as CHartJs from 'chart.js'; //charts图表import * as Highcharts from 'highcharts' //highcharts图表@Component({
  templateUrl: 'build/pages/plus/plus.html',
})

export class PlusPage implements AfterViewInit, OnDestroy{
  constructor(private navCtrl:NavController){}  @ViewChild('chart') public chartEl: ElementRef;  //highcharts

  private _chart: any; //highcharts

  //highcharts
  public ngAfterViewInit() {
    let opts: any = {
        title: {
            text: 'Monthly Average Temperature',
            x: -20
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        series: [{
            name: 'Tokyo',
            data: [                7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,                26.5, 23.3, 18.3, 13.9, 9.6
            ]
        },
        {
            name: 'Tokyo1',
            data: [                5.0, 6.9, 1.5, 14.5, 18.2, 21.5, 25.2,                26.5, 11.3, 25.3, 127.9, 10.6
            ]
        }
        ]
    };    if (this.chartEl && this.chartEl.nativeElement) {
        opts.chart = {
            type: 'line',
            renderTo: this.chartEl.nativeElement
         };        this._chart = new Highcharts.Chart(opts);
    }
  }  public ngOnDestroy() {    this._chart.destroy();
  } //chart.js
  ionViewDidEnter(){
    var canvas = <HTMLCanvasElement> document.getElementById("myChart");
    var ctx = canvas.getContext('2d');
    CHartJs.Line(ctx,{
      data:{
        labels:["red","blue","yellow",'green',"purple","orange"],
        datasets:[{
          label:"# of Vote",
          data:[12,19,3,5,2,3],
          backgroundColor:[            'rgba(255, 99, 132, 0.2)',            'rgba(54, 162, 235, 0.2)',            'rgba(255, 206, 86, 0.2)',            'rgba(75, 192, 192, 0.2)',            'rgba(153, 102, 255, 0.2)',            'rgba(255, 159, 64, 0.2)'
          ],
          borderColor:[            'rgba(255,99,132,1)',            'rgba(54, 162, 235, 1)',            'rgba(255, 206, 86, 1)',            'rgba(75, 192, 192, 1)',            'rgba(153, 102, 255, 1)',            'rgba(255, 159, 64, 1)'
          ],
          borderWidth:1
        }]
      },
      options:{
        scales:{
          yAxes:[{
            ticks:{beginAtZero:true}
          }]
        }
      }
    });
  }
}

3.效果图

             

小礼物走一走,来简书关注我



作者:Nico_zhang
链接:https://www.jianshu.com/p/e187c27e257e


0人推荐
随时随地看视频
慕课网APP