前言 |
要实现的功能如下,绘制一个显示这一周内每天各睡了几个小时的折线图。我要在day页面中绘制。
使用的是echarts插件,官网地址:http://echarts.baidu.com/examples/index.html
实现步骤 |
第一步:在index.html中引入如下这句代码,要放在cordova.js之后。
<script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
第二步:在day.html文件中,ion-content里添加如下代码。
<div #EchartsContent class="EchartsDiv"></div>
第三步:在day.ts文件中,加入两段代码:
declare var echarts;
@ViewChild('EchartsContent') container:ElementRef;
EChart:any;
加入位置如图:
其中,“EchartsContent”和html文件中的#EchartsContent是对应的。
第四步:依旧在day.ts文件中加入代码。
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad DayPage');
var data = [];
for (var i = 0; i <= 360; i++) {
var t = i / 180 * Math.PI;
var r = Math.sin(2 * t) * Math.cos(2 * t);
data.push([r, i]);
}
let ctelement = this.container.nativeElement;
this.EChart = echarts.init(ctelement);
this.EChart.setOption({
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [8, 9, 4, 6, 9, 6, 7],
type: 'line',
smooth: true
}]
});
}
其中,setOption下的代码是从Echarts官网复制的。也就是说,当需要的并不是折线图时,可以去官网找想要的图形,然后复制相应的代码即可。