前言:在开发中现在需要使用echarts来制作图标,所以就在网络上各种找资料,最后发现ngx-echarts轮子可用。那么就走一波.
方式: 使用echarts和ngx-eachrts两个依赖,借助于ngx..,是因为echarts是基于js编写,没有ts文件。所以就使用ngx-echarts来使用即可。
第一步:安装依赖
npm install echarts --save npm install ngx-echarts --save
第二步:在Module中引入
import { NgxEchartsModule } from 'ngx-echarts'; @NgModule({ imports: [ ..., // 引入module NgxEchartsModule ], }) export class AppModule { }
第三步:在angular-cli中添加js引入
// edit .angular-cli.json { "scripts": [ // add this: 注意,在echarts中可能没有提供echarts.min.js但是肯定有echarts.js的。对应引入即可。 "../node_modules/echarts/dist/echarts.min.js" // 还可以添加中英文,主题。。 ], }
第四步:页面中使用
<div echarts [options]="options" [loading]="isLoading" class="demo-chart"></div>
各种文件
. html
<div echarts [options]="options" class="demo-chart"></div>
. ts
options: any; constructor() { } ngOnInit() { let xAxisData = []; let data1 = []; let data2 = []; for (let i = 0; i < 100; i++) { xAxisData.push('category' + i); data1.push((Math.sin(i / 5) * (i / 5 - 10) + i / 6) * 5); data2.push((Math.cos(i / 5) * (i / 5 - 10) + i / 6) * 5); } this.options = { legend: { data: ['bar', 'bar2'], align: 'left' }, tooltip: {}, xAxis: { data: xAxisData, silent: false, splitLine: { show: false } }, yAxis: { }, series: [{ name: 'bar', type: 'bar', data: data1, animationDelay: function (idx) { return idx * 10; } }, { name: 'bar2', type: 'bar', data: data2, animationDelay: function (idx) { return idx * 10 + 100; } }], animationEasing: 'elasticOut', animationDelayUpdate: function (idx) { return idx * 5; } }; }
. AppModule 就不在叙述了
最终的结果:
最后
当然是附上ngx-echarts的官网咯,以上的例子其实就是官网例子而已。
在网络上看到有的也是使用该组件,但是是较老的版本了,所以就自己写一个正在使用的。
当然,需要事件,其他的就在官网查看即可。因为我也才正在使用,具体的问题都是需要具体的分析才行。所以其余的就不在赘述。
使用中遇到的问题?
我使用ng2-admin的后台框架,在该框架中NgxEchartsModule,不能再AppModule.ts中引入。具体原因不详,猜测是由于ng2-admin导致的。
OK,到这里就结束了,