ionic Pie chart

需要在app.module.ts中引用

import { PiePage } from '../pages/pie/pie';
import { ChartsModule } from 'ng2-charts';

加载此界面前已经获取饼状图需要的数据,如下:

import { Component} from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { InterceptorProvider } from '../../providers/interceptor/interceptor';

// @IonicPage()
@Component({
  selector: 'page-pie',
  templateUrl: 'pie.html',
})
export class PiePage{
  id: string;
  zentao: any;
  kernelFree: any;
  luckDraw: any;

  ionViewDidLoad() {
  }

  public doughnutChartLabels: string[] = ['自由加分', '抽奖', '禅道'];
  public doughnutChartData: number[] = [JSON.parse(localStorage.getItem("kernelFree")), JSON.parse(localStorage.getItem("luckDraw")), JSON.parse(localStorage.getItem("zentao"))];
  // public doughnutChartData: number[] = [100, 100, 100];

  public doughnutChartType: string = 'doughnut';

  constructor(
    public navCtrl: NavController,
    public navParams: NavParams,
    public http: InterceptorProvider
  ) {
  }

  // events
  public chartClicked(e: any): void {
    console.log(e);
  }

  public chartHovered(e: any): void {
    console.log(e);
  }
}

pie chart中html代码

<ion-header>
  <ion-navbar>
    <ion-title>积分分析</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <div style="display: block">
    <canvas baseChart
      [data]="doughnutChartData"
      [labels]="doughnutChartLabels"
      [chartType]="doughnutChartType"
      (chartHover)="chartHovered($event)"
      (chartClick)="chartClicked($event)">
    </canvas>
  </div>
<br>
  <span style="text-align:center;display: block;color: gray;">点击饼状图色块查看详细积分</span>
  <span style="text-align:center;display: block;color: gray;">点击颜色介绍可关闭此类别,再次点击打开</span>
  
</ion-content>

ts代码

import { Component} from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { InterceptorProvider } from '../../providers/interceptor/interceptor';

// @IonicPage()
@Component({
  selector: 'page-pie',
  templateUrl: 'pie.html',
})
export class PiePage{
  id: string;
  zentao: any;
  kernelFree: any;
  luckDraw: any;

  ionViewDidLoad() {
  }

  public doughnutChartLabels: string[] = ['自由加分', '抽奖', '禅道'];
  public doughnutChartData: number[] = [JSON.parse(localStorage.getItem("kernelFree")), JSON.parse(localStorage.getItem("luckDraw")), JSON.parse(localStorage.getItem("zentao"))];
  // public doughnutChartData: number[] = [100, 100, 100];

  public doughnutChartType: string = 'doughnut';

  constructor(
    public navCtrl: NavController,
    public navParams: NavParams,
    public http: InterceptorProvider
  ) {
  }

  // events
  public chartClicked(e: any): void {
    console.log(e);
  }

  public chartHovered(e: any): void {
    console.log(e);
  }
}

遇到的问题:当加载pie chart界面的时候,默认先加载饼状图,获取库中真是数据后,无法把值赋值给饼状图。此时需要改一下代码运行步骤。

参考文章:https://www.djamware.com/post/598953f880aca768e4d2b12b/creating-beautiful-charts-easily-using-ionic-3-and-angular-4

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值