一、安装 ECharts
使用如下命令安装 ECharts
npm install echarts --save or yarn add echarts
安装 echarts-for-react
npm install echarts-for-react --S or yarn add echarts-for-react
二、按需引入 ECharts 图表和组件
默认使用 import echarts from 'echarts'
得到的是加载了所有图表和组件的 ECharts 包,因此体积会比较大,因此可以只按需要引入需要的模块。
具体如下实例(折线图):
import React, { Component } from 'react'
import { Card } from 'antd'
// import echarts from 'echarts'
//按需导入
import echartTheme from './../echartTheme' //引入主题
import echarts from 'echarts/lib/echarts'//引入echarts
//导入折线图
import 'echarts/lib/chart/line'
// 引入提示框和标题组件
import 'echarts/lib/component/tooltip'
import 'echarts/lib/component/title'
import 'echarts/lib/component/legend'
import 'echarts/lib/component/markPoint'
import ReactEcharts from 'echarts-for-react' //引入ReactEcharts组件
export default class Line extends Component {
componentWillMount(){
echarts.registerTheme("Imooc", echartTheme) //注入主题
}
render() {
return (
<div> </div>
)
}
}
其中 import echartTheme from './../echartTheme'
为引入主题,主题文件为(echartTheme.js
):
export default {
"color": [
"#f9c700",
"#ff5400",
"#6699cc",
"#9cb3c5",
"#e0e6ec",
"#666666",
"#787464",
"#cc7e63",
"#724e58",
"#4b565b"
],
"backgroundColor": "#ffffff",
"textStyle": {},
"title": {
"textStyle": {
"color": "#cccccc"
},
"subtextStyle": {
"color": "#cccccc"
}
},
"line": {
"itemStyle": {
"normal": {
"borderWidth": 1
}
},
"lineStyle": {
"normal": {
"width": 2
}
},
"symbolSize": "10",
"symbol": "emptyCircle",
"smooth": false
},
"pie": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
},
"emphasis": {
"borderWidth": 0,
"borderColor": "#ccc"
}
}
},
"categoryAxis": {
"axisLine": {
"show": true,
"lineStyle": {
"color": "#f1f3f5"
}
},
"axisTick": {
"show": true,
"lineStyle": {
"color": "#f1f3f5"
}
},
"axisLabel": {
"show": true,
"textStyle": {
"color": "#999999",
"fontSize": "14"
}
},
"splitLine": {
"show": true,
"lineStyle": {
"color": [
"#f1f3f5"
]
}
},
"splitArea": {
"show": false,
"areaStyle": {
"color": [
"rgba(250,250,250,0.3)",
"rgba(200,200,200,0.3)"
]
}
}
},
"valueAxis": {
"axisLine": {
"show": true,
"lineStyle": {
"color": "#f1f3f5"
}
},
"axisTick": {
"show": true,
"lineStyle": {
"color": "#f1f3f5"
}
},
"axisLabel": {
"show": true,
"textStyle": {
"color": "#999999",
"fontSize": "14"
}
},
"splitLine": {
"show": true,
"lineStyle": {
"color": [
"#f1f3f5"
]
}
},
"splitArea": {
"show": false,
"areaStyle": {
"color": [
"rgba(250,250,250,0.3)",
"rgba(200,200,200,0.3)"
]
}
}
},
"toolbox": {
"iconStyle": {
"normal": {
"borderColor": "#999999"
},
"emphasis": {
"borderColor": "#666666"
}
}
},
"legend": {
"textStyle": {
"color": "#333333"
}
},
"tooltip": {
"axisPointer": {
"lineStyle": {
"color": "#cccccc",
"width": 1
},
"crossStyle": {
"color": "#cccccc",
"width": 1
}
}
},
"timeline": {
"lineStyle": {
"color": "#293c55",
"width": 1
},
"itemStyle": {
"normal": {
"color": "#293c55",
"borderWidth": 1
},
"emphasis": {
"color": "#a9334c"
}
},
"controlStyle": {
"normal": {
"color": "#293c55",
"borderColor": "#293c55",
"borderWidth": 0.5
},
"emphasis": {
"color": "#293c55",
"borderColor": "#293c55",
"borderWidth": 0.5
}
},
"checkpointStyle": {
"color": "#e43c59",
"borderColor": "rgba(194,53,49,0.5)"
},
"label": {
"normal": {
"textStyle": {
"color": "#293c55"
}
},
"emphasis": {
"textStyle": {
"color": "#293c55"
}
}
}
},
"markPoint": {
"label": {
"normal": {
"textStyle": {
"color": "#ffffff"
}
},
"emphasis": {
"textStyle": {
"color": "#ffffff"
}
}
}
}
}
分别按需引入的模块列表见 https://github.com/ecomfe/echarts/blob/master/index.js
网友评论