(2)、React中使用ECharts——折线图

一、折线图实例1

1、代码如下:
import React,{Component} from 'react'
import {Card} from 'antd'
//按需导入
import echarts from 'echarts/lib/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'
//引入echarts的主题样式
import echartTheme from './echartTheme'
//引入样式
import './common.less'

class LineA extends Component {

    componentWillMount(){
        // echarts.registerTheme("ThemeStyle", echartTheme) //注入主题
    }

    getOption = ()=>{
        let option = {
            title: {  //标题
                text: '折线图一',
                x: 'center',
                textStyle: { //字体颜色
                    color: '#ccc'
                }
            },
            tooltip:{ //提示框组件
                trigger: 'axis'
            },
            xAxis: { //X轴坐标值
                data: ['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
            },
            yAxis: {
                type: 'value' //数值轴,适用于连续数据
            },
            series : [
                {
                    name:'订单量', //坐标点名称
                    type:'line', //线类型
                    data:[1000, 1500, 2000, 3000, 2500, 1800, 1200] //坐标点数据
                }
            ]
        }
        return option;
    }

    render() {
        return (
            <Card.Grid className="line_a">
                <ReactEcharts option={this.getOption()} theme="ThemeStyle" />
            </Card.Grid>
        )
    }
}
export default LineA;

(1) title:标题组件,包含主标题和副标题。
    --- text (string):主标题文本,支持使用 \n 换行。
    --- x (string):在x轴位置。
    --- textStyle (object):主标题文字的颜色。

(2)tooltip: 提示框组件。
    --- trigger (string):触发类型。(默认: 'item' )
      |--- item:数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用。
      |--- axis:坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。
      |--- none:什么都不触发。

(3) xAxis: 直角坐标系 grid 中的 x 轴,一般情况下单个 grid 组件最多只能放上下两个 x 轴,多于两个 x 轴需要通过配置 offset 属性防止同个位置多个 x 轴的重叠。

(4) yAxis: 直角坐标系 grid 中的 y 轴,一般情况下单个 grid 组件最多只能放左右两个 y 轴,多于两个 y 轴需要通过配置 offset 属性防止同个位置多个 Y 轴的重叠。

(5) series : 系列列表。每个系列通过 type 决定自己的图表类型。

2、效果图

二、折线图实例2

1、代码如下:
import React,{Component} from 'react'
import {Card} from 'antd'
//按需导入
import echarts from 'echarts/lib/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'
//引入样式
import './common.less'

class LineB extends Component {
    getOption = ()=>{
        let option = {
            title: {
                text: '折线图二',
                x: 'center'
            },
            tooltip:{
                trigger: 'axis'
            },
            xAxis: {
                boundaryGap: false,
                data: ['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
            },
            yAxis: {
                type: 'value' //数值轴,适用于连续数据
            },
            series : [
                {
                    name:'订单量',
                    type:'line',
                    data:[1000, 1500, 2000, 3000, 2500, 1800, 1200],
                    areaStyle: {}
                }
            ]
        }
        return option;
    }
    render() {
        return (
            <Card.Grid className="line_b">
                <ReactEcharts option={this.getOption()}/>
            </Card.Grid>
        )
    }
}
export default LineB;
2、效果图

三、折线图实例3

1、代码如下
import React,{Component} from 'react'
import {Card} from 'antd'
//按需导入
import echarts from 'echarts/lib/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'
//引入样式
import './common.less'

class LineA extends Component {

    getOption = ()=>{
        let option = {
            title: {
                text: '折线图三',
                x: 'center'
            },
            tooltip:{
                trigger: 'axis'
            },
            legend: {
                // orient: 'vertical',
                top: 20,
                right: 50,
                data:['A','B','C']
            },
            xAxis: {
                data: ['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
            },
            yAxis: {
                type: 'value'
            },
            series : [
                {
                    name:'A',
                    type:'line',
                    data:[800, 1300, 2000, 2300, 1800, 1100, 500]
                },
                {
                    name:'B',
                    type:'line',
                    data:[1000, 1800, 2200, 3100, 2200, 1500, 1000]
                },
                {
                    name:'C',
                    type:'line',
                    data:[300, 800, 1200, 1800, 1300, 600, 200]
                }
            ]
        }
        return option;
    }
    render() {
        return (
            <Card.Grid className="line_c">
                <ReactEcharts option={this.getOption()}/>
            </Card.Grid>
        )
    }
}
export default LineA;
2、效果图

更多折线图实例信息请参考ECharts:https://www.echartsjs.com/examples/#chart-type-line

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在实习期间,接手了一个数据搜索项目,需要我从后台调取数据,并将之用折线图直方图显示出来,并且可以将多组数据绘制...
    南客nk阅读 8,068评论 3 21
  • 在vue使用echarts echarts是什么 ecahrts 是一个高度可定制化的图表库 如何使用echart...
    小将和硝子阅读 2,197评论 0 3
  • 首先通过npm安装Echarts,也可写进package.json中install 新建一个ReactEchart...
    McG61阅读 8,741评论 0 2
  • Can't get dom width or height echarts解决方案 var mainContain...
    飞豹豹豹豹豹阅读 1,625评论 0 0
  • 折线图是工作中使用最频繁的图表之一,大多数人对折线图的认识还是非常浅显的,接下来,来深入了解一下折线图。 一.什么...
    璞石阅读 14,225评论 0 14