解决办法:

在动态获取值的函数前面加 访问器属性  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. .NET CORE学习笔记系列(2)——依赖注入【1】控制反转IOC

    原文:https://www.cnblogs.com/artech/p/net-core-di-01.html 一.流程控制的反转 IoC的全名Inverse of Control,翻译成中文就是“控 ...

  2. 3.15 总结,初始java

  3. tqdm介绍及常用方法

    Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator). 使用pip就可以安装. Tqdm 是一 ...

  4. UVA - 10917 - Walk Through the Forest(最短路+记忆化搜索)

    Problem    UVA - 10917 - Walk Through the Forest Time Limit: 3000 mSec Problem Description Jimmy exp ...

  5. 1.3 Windows注册表

    如何打开Windows注册表呢? 方法一:Win+R打开命令行,再输入regetdit,回车. 方法二:打开计算机,进入系统所在盘,进入Windows\System32文件夹,找到regedt32,双 ...

  6. pytorch Debug —交互式调试工具Pdb (ipdb是增强版的pdb)-1-在pytorch中使用

    参考深度学习框架pytorch:入门和实践一书第六章 以深度学习框架PyTorch一书的学习-第六章-实战指南为前提 在pytorch中Debug pytorch作为一个动态图框架,与ipdb结合能为 ...

  7. 读书笔记---<<图解HTTP>>(一)

    一.了解Web及网络基础 1. 网络基础TCP/IP 通常使用的网络包括互联网都是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集. 1.1 TCP/IP协议族 像这样吧与互联网关联 ...

  8. Filebeat命令参考

     Filebeat命令参考: Filebeat提供了一个命令行界面,用于启动Filebeat并执行常见任务,例如测试配置文件和加载仪表板.命令行还支持用于控制全局行为的全局标志. 命令: export ...

  9. shell 脚本中执行sql

    #!/bin/bashsql='show databases' result=`mysql -uroot -pengine2user -h127.0.0.1 -e "${sql}" ...

  10. 迄今为止 .Net 平台功能最强大,性能最佳的 JSON 序列化和反序列化库。

    Swifter.Json 这是迄今为止 .Net 平台功能最强大,性能最佳的 JSON 序列化和反序列化库. Github : https://github.com/Dogwei/Swifter.Js ...