Echarts圖表功能很強(qiáng)大跷叉,使用起來也很方便,我們的項(xiàng)目中就用到了Echarts,現(xiàn)在我們就說說怎么在react中使用Echarts奔脐。我們用的前端開發(fā)工具時(shí)webStorm
1.添加依賴
在webStorm的命令行輸入以下語句:
npm install --save echarts-for-react
依賴添加完成后項(xiàng)目的node_modules目錄下出現(xiàn)echarts的依賴目錄和echarts-for-react的依賴目錄
在項(xiàng)目的package.json中出現(xiàn)echarts-for-react的依賴炸站,如圖所示:
我將代碼提交到公司的git倉庫中星澳,別的同事pull下來后,在自己的項(xiàng)目中執(zhí)行
npm install
啟動(dòng)本地服務(wù)后會(huì)報(bào)錯(cuò)旱易,說找不到echarts的依賴禁偎,所以如果只執(zhí)行npm install --save echarts-for-react會(huì)報(bào)錯(cuò),可以執(zhí)行下面的命令
npm install --save echarts-for-react
npm install echarts --save
此時(shí)項(xiàng)目的package.json會(huì)出現(xiàn)兩個(gè)依賴阀坏,如下圖所示:
2.在圖表頁面引入Echarts
import React from 'react';
import ReactEcharts from 'echarts-for-react';
3.echarts的官方圖表示例
官方網(wǎng)站:http://echarts.baidu.com/examples.html如暖,提供了很多圖表
我們以折線圖為例,下圖是官方的圖表和對(duì)應(yīng)的代碼示例:
在react中使用echarts很簡單忌堂,只需要將option中的代碼放到react的getOtion方法中就就OK了盒至,具體代碼實(shí)現(xiàn)如下:
import React from 'react';
import ReactEcharts from 'echarts-for-react';
const LineMarkerEcharts = React.createClass({
propTypes: {
},
getOtion: function() {
const option = {
title: {
text: '未來一周氣溫變化',
subtext: '純屬虛構(gòu)'
},
tooltip: {
trigger: 'axis'
},
legend: {
data:['最高氣溫','最低氣溫']
},
toolbox: {
show: true,
feature: {
dataZoom: {
yAxisIndex: 'none'
},
dataView: {readOnly: false},
magicType: {type: ['line', 'bar']},
restore: {},
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['周一','周二','周三','周四','周五','周六','周日']
},
yAxis: {
type: 'value',
axisLabel: {
formatter: '{value} °C'
}
},
series: [
{
name:'最高氣溫',
type:'line',
data:[11, 11, 15, 13, 12, 13, 10],
markPoint: {
data: [
{type: 'max', name: '最大值'},
{type: 'min', name: '最小值'}
]
},
markLine: {
data: [
{type: 'average', name: '平均值'}
]
}
},
{
name:'最低氣溫',
type:'line',
data:[1, -2, 2, 5, 3, 2, 0],
markPoint: {
data: [
{name: '周最低', value: -2, xAxis: 1, yAxis: -1.5}
]
},
markLine: {
data: [
{type: 'average', name: '平均值'},
[{
symbol: 'none',
x: '90%',
yAxis: 'max'
}, {
symbol: 'circle',
label: {
normal: {
position: 'start',
formatter: '最大值'
}
},
type: 'max',
name: '最高點(diǎn)'
}]
]
}
}
]
};
return option;
},
render: function() {
let code = "<ReactEcharts " +
" option={this.getOtion()} " +
" style={{height: '350px', width: '1000px'}} " +
" className='react_for_echarts' />";
return (
<ReactEcharts
option={this.getOtion()}
style={{height: '350px', width: '1000px'}}
className='react_for_echarts' />
);
}
});
export default LineMarkerEcharts;
此時(shí),這個(gè)圖表就成為了我們r(jià)eact中的組件士修,在項(xiàng)目中需要使用圖表的時(shí)候直接引入組件就可以了枷遂,如下圖我們?cè)陧?xiàng)目中的引用方法:
(因?yàn)轫?xiàng)目的問題,原諒我不能將代碼公布棋嘲,只是看一下怎么使用就好了)
啟動(dòng)本地服務(wù)
npm run dev
我們就可以看到圖表已經(jīng)生成
很簡單登淘,如果我們需要?jiǎng)e的圖表直接在官網(wǎng)找到圖表對(duì)應(yīng)的示例代碼,拷貝到getOtion的方法中
至于圖表的一些設(shè)置可以看官方的api或者百度封字,有很多教程可以學(xué)習(xí)黔州,就可以根據(jù)自己的需求展示不同的圖表。
歡迎指正@选A髌蕖!