解决办法:

在动态获取值的函数前面加 访问器属性  get ,去获取对象的属性

@inject('commonStore', 'reportUIStore')
@observer
class LineEcharts extends React.Component<Props> {
drawChart = () => {
const { nameArr } = this.props
const option = {
tooltip: {
trigger: 'axis',
axisPointer: {
lineStyle: {
color: 'rgba(24,144,255,0.2)',
},
},
formatter: (params: Params) => {
let tip = ``
if (params.length) {
tip += params[0].axisValue + '<br/>'
}
if (params.length && params.length === 1) {
tip +=
params[0].marker +
params[0].seriesName +
' :' +
params[0].data +
'<br>'
}
if (params.length > 1) {
let num = params[0].data - params[1].data
let rate = ((num / params[1].data) * 100).toFixed(2)
if (num === 0) {
rate = `0%`
} else {
rate = `${rate}%`
}
for (let i = 0; i < params.length; i++) {
if (nameArr && nameArr.length) {
params[i].seriesName = nameArr[i]
tip +=
params[i].marker +
params[i].seriesName +
' :' +
params[i].data +
'<br>'
}
}
tip += `变化:${num}(${rate})`
}
return tip
},
},
grid: {
left: '3%',
right: '6%',
bottom: '10%',
containLabel: true,
},
xAxis: {
axisLabel: {
textStyle: {
color: '#999',
},
},
type: 'category',
boundaryGap: true,
data: range(24).map(hour => `${hour}:00`),
axisTick: {
show: false,
},
axisLine: {
show: true,
lineStyle: {
color: '#ccc',
width: 1,
},
},
},
yAxis: [
{
type: 'value',
name: '',
min: 0,
max: 12000,
interval: 3000,
axisLabel: {
formatter: '{value}',
},
axisTick: {
show: false,
},
axisLine: {
show: true,
lineStyle: {
color: '#ccc',
width: 1,
},
},
splitLine: {
show: true,
lineStyle: {
color: '#eee',
},
},
},
{
type: 'value',
name: '',
min: 0,
max: 150,
interval: 50,
axisLabel: {
formatter: '{value}',
},
axisTick: {
show: false,
},
axisLine: {
show: true,
lineStyle: {
color: '#ccc',
width: 1,
},
},
splitLine: {
show: true,
lineStyle: {
color: '#eee',
},
},
},
],
series: this.handlData,
}
return option
} // 注意这儿: 添加了get 错误消失了
get handlData() {
let series: Series[] = []
let { dataArr, nameArr, colors } = this.props
dataArr.map((itm, i) => {
let serie = {
name: nameArr[i],
type: 'line',
symbol: 'circle',
color: colors[i],
symbolSize: 4,
itemStyle: {
normal: {
lineStyle: {
width: 2,
color: colors[i],
},
},
},
data: dataArr[i],
}
series.push(serie)
})
return series
}
render() {
return (
<div>
<Loading loading={false}>
       // 如果serie需要自定义,而且是可添加或删减的,可以使用 notMerge 使之不合并,从而及时更新数据
            <ReactEcharts notMerge  option={this.drawChart()} />  
       </Loading>
</div>
)
}
} export default LineEcharts export interface Props {
reportUIStore?: ReportUIStore
dataArr: number[][]
nameArr: string[]
colors: string[]
} export interface Params {
param: ParamsSingle[]
length: number
} export interface ParamsSingle {
seriesName: string
// 数据名,类目名
name: string
// 传入的原始数据项
data: Object
// 数据图形的颜色
color: string
marker: string
} export interface Series {
name: string,
type: string,
symbol: string,
color: string,
symbolSize: number,
itemStyle: {
normal: {
lineStyle: {
width: number,
color: string
}
}
},
data: number[],
}

使用echarts-for-react 绘制折线图 报错:`series.type should be specified `的更多相关文章

  1. 【带着canvas去流浪】(2)绘制折线图

    目录 一. 任务说明 二. 重点提示 三. 示例代码 3.1 一般折线图 3.2 用贝塞尔曲线绘制平滑折线图 四. 大数据量场景 示例代码托管在:https://github.com/dashnowo ...

  2. 带着canvas去流浪系列之二 绘制折线图

    [摘要] 用canvasAPI实现echarts简易图表 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...

  3. 【Canvas】(2)---绘制折线图

    绘制折线图 之前在工作的时候,用过百度的ECharts绘制折线图,上手很简单,这里通过canvas绘制一个简单的折线图.这里将一整个绘制过程分为几个步骤: 1.绘制网格 2.绘制坐标系 3.绘制点 4 ...

  4. 用canvas绘制折线图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. php中用GD绘制折线图

    php中用GD绘制折线图,代码如下: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // 定 ...

  6. UUChart的使用--iOS绘制折线图

    UUChart是一个用于绘制图表的第三方,尤其适合去绘制折线图. 二.下载地址: https://github.com/ZhipingYang/UUChartView 三.使用 第一步.首先我们将下载 ...

  7. html5绘制折线图

    html5绘制折线图详细代码 <html> <canvas id="a_canvas" width="1000" height="7 ...

  8. Android自己定义组件系列【9】——Canvas绘制折线图

    有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了非常多插件,可是非常多时候我们须要依据详细项目自己定义这些图表,这一篇文章我们一起来看看怎样在Android中使用Can ...

  9. JFreeChart绘制折线图实例

    JFreeChart是JAVA平台上的一个开放的第三方图表绘制类库.只要下载JFreeChart的类库,导入项目即可使用.下面是一个绘制折线图的实例.各处注释都已经写的比较清晰了. package c ...

随机推荐

  1. Kafka 0.11.0.0 实现 producer的Exactly-once 语义(官方DEMO)

    <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients&l ...

  2. Node.js完整的响应html页面(包括css,js文件)

    主要思想就是任何一个静态文件也应该做响应,一个获取静态文件都应当请求来处理,这是主要思想. 同时要注意两点.第一,对于不同的文件类型,比如html,css,js,请求头里面的文件类型需要根据不同的文件 ...

  3. UVALive - 3211 - Now or later(图论——2-SAT)

    Problem   UVALive - 3211 - Now or later Time Limit: 9000 mSec Problem Description Input Output Sampl ...

  4. zabbix,php,nginx,mysql源码安装 神仙操作

    →软件包 mkdir /soft/ cd /soft ♦下载以下软件包 nginx-1.14.2.tar.gz wget http://nginx.org/download/nginx-1.14.2. ...

  5. 使用Jasypt对SpringBoot配置文件加密(转)

    文章转自   https://www.jianshu.com/p/323ec96c46d2 引入jasypt <dependency> <groupId>com.github. ...

  6. 编写python程序和运行.py文件的方法步骤

    前提:已安装好 Subliume Test 3 且已经添加好python编译系统,已安装好python3.7 一.新建一个文本文档,将后缀名改为.py 二.使用 Subliume Test 3 打开该 ...

  7. 软工+C(1): 题目设计、点评和评分

    // 下一篇:分数和checklist 如何设计题目 教学中的一个问题是老师出题太简单了,题目设计一开始上来就不紧凑,我认为一个好的课程应该上来就给你紧凑感,而不是先上来"轻松2-3周&qu ...

  8. [转帖] CA如何保护自己的私钥

    作者:Gh0u1L5链接:https://www.zhihu.com/question/22260090/answer/648910720来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  9. Flutter之CustomView

    文中所有示例代码请点击: gitee.com/yumi0629/Fl… 今天呢,我小拉面主要想给大家讲一讲Flutter中的 Slivers 大家族的使用场景和方法.开发过列表布局的同学们应该对 Sl ...

  10. spring和mybatis的整合配置

    参考自: http://www.cnblogs.com/wangmingshun/p/5674633.html 链接中的文章里一共有三种整合方式,太多了怕记混了. 我这里只保留第二种. spring中 ...