【数据可视化】在 ionic 中使用 Highcharts
环境准备
通过下面的命令安装 ionic 及相关依赖包,其中 cordova 是用来将 web 资源(包括 HTML、SCSS、Typescript)转换成 Native 应用的包
npm install ionic cordova -g
创建 ionic 项目
ionic start highcharts-ionic blank
简单说明如下
1、highcharts-ionic 为项目名称,并且会创建对应的目录
2、blank 为 ionic 模板名,即用 blank 模板创建项目
通过下面的命令启动 ionic 服务,其中 -l 参数为开启实验室功能,即开启多平台模拟器
ionic serve -l
创建 Highcharts 图表
首先需要下载 Highcharts 包
npm install highcharts --save
接下来就是编写代码了,首先打开src/pages/home/home.html在合适的位置添加一个 div 容器
需要编辑的文件
<div id="conainert"></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 服务,没有意外的话,页面效果如图
同样的我们可以参考Highcharts 官方实例编写一个实时刷新的例子,运行结果如下图