在react中使用echarts
step1
目前echarts已经有较多的react的实现,具体的可参见echarts_github中的说明
在使用中遇到的问题
在使用中遇到这样的问题:一般的统计的图表按照相应的react组件提供的文档即可进行开发,主要是在有地图图表的开发中遇到一些问题,主要是地图的使用中出现的问题。
以下提供一个组件的写法:
import React from 'react';
import ReactEcharts from 'echarts-for-react';
require("echarts/map/js/province/guizhou.js");
const EchartsTest = React.createClass({
propTypes: {},
randomData: function () {
return Math.round(Math.random() * 1000);
},
getOtion: function () {
const option = {
title: {
text: 'iphone销量',
subtext: '纯属虚构',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: function (params, value, callback) {
let $pna = params.name;
let res = '';
res = '<div class="echarts-container"><div class="echarts-item"></div><div class="echarts-item"></div><div class="echarts-item"></div><div class="echarts-item"></div><div class="echarts-item"></div><div class="echarts-item"></div></div>';
return res
}
},
legend: {
orient: 'vertical',
left: 'left',
data: ['iphone3']
},
visualMap: {
min: 0,
max: 2500,
left: 'left',
top: 'bottom',
text: ['高', '低'], // 文本,默认为数值文本
calculable: true
},
toolbox: {
show: true,
orient: 'vertical',
left: 'right',
top: 'center',
feature: {
dataView: {readOnly: false},
restore: {},
saveAsImage: {}
}
},
series: [
{
name: 'iphone3',
type: 'map',
mapType: '贵州',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{name: '六盘水', value: this.randomData()},
{name: '贵阳', value: this.randomData()},
{name: '遵义', value: this.randomData()},
{name: '安顺', value: this.randomData()},
{name: '铜仁', value: this.randomData()},
{name: '毕节', value: this.randomData()},
{name: '黔西南', value: this.randomData()},
{name: '黔东南', value: this.randomData()},
{name: '黔南', value: this.randomData()}
]
}
]
};
return option;
},
render: function () {
return (
<div className='examples'>
<div className='parent'>
<label> render a china map. <strong>MAP charts</strong>: </label>
<ReactEcharts
option={this.getOtion()}
style={{height: '500px', width: '100%'}}
className='react_for_echarts'/>
</div>
</div>
);
}
});
export default EchartsTest;
需要安装echarts、echarts-for-react npm包;
其中需要注意的是:关于地图各个区块移入时才会显示,可以使用模板来显示数据。
最后解决这个问题主要是参考了博客园的该文章点击查看
最后更新于