你不知道的Echarts柱状图应用在React中

本文探讨了如何在React应用中创新使用Echarts柱状图,以Y轴为坐标,X轴为值,展示双正数轴的效果。通过引入相关文件,设置参数,以及在组件生命周期方法中进行配置,实现了这一特殊布局的柱状图。

echarts 柱状图在React里面的运用:

正常的echarts 都是竖直型的,或者一个里边包含多个的。 这次做个不同的, y轴为坐标,x轴为值,左右都为正数展开。

(1)、引入相关的文件

import React, { Compoent } from 'react';
import { Spin } from 'antd';
import echarts from 'echarts';
import styles from './chart.less';

 (2)、定义一些参数等

const y2 = ['测试一', '测试二', '测试三', '测试四', '测试五'];
const le2 = ['星期一', '星期二', '星期三'];
const xLeft1Value = [-90, -100, -95, -100, -60];
const xLeft2Value = [-80, -90, -75, -98, -55];
const xRightValue = [8, 8, 9, 9, 10];

(3)、在render里面定义

<div id="situationChart" className={styles.situationChartMain}></div>

 (4)、componentDidMount里面

componentDidMount() {
    const myChart = echarts.init(document.getElementById('situationChart'));
    myChart.setOption({
      color: ['#ff0000', '#3398DB', '#00FFFF'],
      tooltip: {
        trigger: 'axis',
        axisPointer: {
          type: 'shadow',
        },
      },
      legend: {
        data: le2,
      },
      grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true,
      },
      xAxis: [
        {
          type: 'value',
          axisLabel: {
            show: false,
            // formatter: value => {
            //   if (value < 0) return -value
            //   return value
            // },
          },
           // 控制网格线是否显示
          splitLine: {
            show: false,
          },
          axisTick: {
            show: false,
          },
          axisLine: {
            show: false,
          },
        },
      ],
      yAxis: [
        {
          type: 'category',
          axisTick: {
            show: false,
          },
          axisLine: {
            show: false,
          },
          data: y2,
        },
      ],
      series: [
        {
          name: '周一',
          type: 'bar',
          label: {
            show: true,
            formatter: '{c}',
            position: 'right',
          },
          itemStyle: {

          },
          data: xRightValue,
        },
        {
          name: '周二',
          type: 'bar',
          // barGap: '30%',
          label: {
            show: true,
            formatter: value =>
              // 值都是负数的 所以需要取反一下
              `${-value.data}`,
            position: 'left',
          },
          itemStyle: {

          },
          data: xLeft1Value,
        },
        {
          name: '周三',
          type: 'bar',
          label: {
            show: true,
            formatter: value =>
              `${-value.data}`,
            position: 'left',
          },
          itemStyle: {

          },
          data: xLeft2Value,
        },
      ],
    });
    myChart.resize();
  }

 

柱状图样子:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值