码迷,mamicode.com
首页 > 其他好文 > 详细

react 如果简单实用echarts

时间:2020-05-07 23:15:04      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:charts   断点   var   void   apach   extend   idm   reac   chart   

echarts 官网:https://echarts.apache.org/zh/index.html

首先先下载 

npm i echarts -S

  

第二步页面引入:、

import echarts from ‘echarts‘

  

第三步页面使用。我这里写了个demo,自己模拟了一个json数据。然后axios请求数据。存在state里,把state的数据弄到图标中。  注意,外层盒子一定要设置高度。

export default class Echarts extends Component {
  state = {
    data: []
  }
  //请求数据
  getEchartsData = () => {
    Axios.get(‘/echartsData.json‘).then(res => {
      this.setState({
        data: res.data.list
      })
      this.initEcharts(); //调用下 封装的Echarts
    })
  }

  //封装Echarts
  initEcharts = () => {
    // var myChart = echarts.init(document.getElementsByClassName(‘echarts_wrap‘)[0]);
    var myChart = echarts.init(this.el);

    // 指定图表的配置项和数据
    var option = {
      tooltip: {
        trigger: ‘item‘,
        formatter: ‘{a} <br/>{b}: {c} ({d}%)‘
      },
      legend: {
        orient: ‘vertical‘,
        left: 10,
        data: [‘直接访问‘, ‘邮件营销‘, ‘联盟广告‘, ‘视频广告‘, ‘搜索引擎‘]
      },
      series: [
        {
          name: ‘访问来源‘,
          type: ‘pie‘,
          radius: [‘50%‘, ‘70%‘],
          avoidLabelOverlap: false,
          label: {
            show: false,
            position: ‘center‘
          },
          emphasis: {
            label: {
              show: true,
              fontSize: ‘30‘,
              fontWeight: ‘bold‘
            }
          },
          labelLine: {
            show: false
          },
          data: this.state.data
        }
      ]
    };
    // 自动缩放 拖动屏幕
    window.addEventListener(‘resize‘, () => {
      myChart.resize()
    })

    // 处理点击事件判断点击的哪一个,进行一些逻辑处理
    myChart.on(‘click‘, function (params) {
      switch (params.name) {
        case ‘直接访问‘:
          console.log(‘直接访问‘)
          break;
        case ‘邮件营销‘:
          console.log(‘邮件营销‘)
          break;
        default:
          break;
      }
    });
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
  }

  componentDidMount() {
    this.getEchartsData() //调用获取的数据
  }

  render() {
    return (
      <div className=‘views_echarts‘>
        <div className=‘echarts_wrap‘ ref={v => this.el = v}></div>
      </div>
    )
  }
}

  

react 如果简单实用echarts

标签:charts   断点   var   void   apach   extend   idm   reac   chart   

原文地址:https://www.cnblogs.com/yetiezhu/p/12846010.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!