在 ionic 中使用 Highcharts

在 ionic 中使用 Highcharts

环境准备

通过下面的命令安装 ionic 及相关依赖包,其中 cordova 是用来将 web 资源(包括 HTML、SCSS、Typescript)转换成 Native 应用的包

npm install ionic cordova -g

创建 ionic 项目

ionic start highcharts-ionic blank

简单说明如下

  • highcharts-ionic 为项目名称,并且会创建对应的目录
  • blank 为 ionic 模板名,即用 blank 模板创建项目

通过下面的命令启动 ionic 服务,其中 -l 参数为开启实验室功能,即开启多平台模拟器

ionic serve -l

创建 Highcharts 图表

首先需要下载 Highcharts 包

npm install highcharts --save

接下来就是编写代码了,首先打开 src/pages/home/home.html 在合适的位置添加一个 div 容器

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

需要编辑的文件

然后打开 home.ts (和上面的 home.html 在同一个目录),引入 highcharts 模块,并在 ionViewDidLoad 函数里编写图表代码,实例代码如下:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import * as Highcharts from 'highcharts';

@Component({
    selector: 'page-home',
    templateUrl: 'home.html'
})
export class HomePage {
    constructor(public navCtrl: NavController) {
    }

    ionViewDidLoad(){
        var chart = Highcharts.chart('container', {
            title: {
                text: '不同城市的月平均气温',
                x: -20
            },
            subtitle: {
                text: '数据来源: WorldClimate.com',
                x: -20
            },
            xAxis: {
                categories: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
            },
            yAxis: {
                title: {
                    text: '温度 (°C)'
                },
                plotLines: [{
                    value: 0,
                    width: 1,
                    color: '#808080'
                }]
            },
            tooltip: {
                valueSuffix: '°C'
            },
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'middle',
                borderWidth: 0
            },
            series: [{
                name: '东京',
                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: '纽约',
                data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
            }, {
                name: '柏林',
                data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
            }, {
                name: '伦敦',
                data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
            }]
        });
    }
}

保存文件,并重新启动 ionic 服务,没有意外的话,页面效果如图

Ionic App 中的 Highcharts 图表

同样的我们可以参考 Highcharts 官方实例 编写一个实时刷新的例子,运行结果如下图

Ionic App 中的 Highcharts 图表

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×