React使用Echarts/Ant-design-charts

目录

React使用Echarts

        1.React项目安装导入Echarts

        2.组件页面中使用Echarts

 React使用Ant-design-charts

        1.React项目安装导入Ant-design-charts

        2.组件页面中使用Ant-design-charts

组件封装(封装Echarts组件示例)

        1.在components下新建组件

        2. components/Bar/index.js

        3.Home/index.js

        4.效果展示


React使用Echarts

        1.React项目安装导入Echarts

$ npm install echarts --save

        2.组件页面中使用Echarts

// 导入echarts 并将全部导入的命名为echarts
import * as echarts from 'echarts'
import { useEffect, useRef } from 'react'

const Home = () => {
  const domRef = useRef()

  useEffect(() => {
    chartTnit()
  }, [])

  const chartTnit = () => {
    // 基于准备好的dom,初始化echarts实例
    const myChart = echarts.init(domRef.current)

    // 绘制图表
    myChart.setOption({
      title: {
        text: 'ECharts 入门示例'
      },
      tooltip: {},
      xAxis: {
        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
      },
      yAxis: {},
      series: [
        {
          name: '销量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20]
        }
      ]
    })
  }

  return (<div>
    {/* 挂载节点 */}
    <div ref={domRef} style={{ width: '500px', height: '500px' }}></div>
  </div>)
}
export default Home

 React使用Ant-design-charts

        1.React项目安装导入Ant-design-charts

$ npm install @ant-design/charts --save

        2.组件页面中使用Ant-design-charts


import React from 'react'
// 引入Column柱状图表
import { Column } from '@ant-design/charts'

const Home = () => {

  const data = [
    { type: '家具家电', sales: 38 },
    { type: '粮油副食', sales: 52 },
    { type: '生鲜水果', sales: 61 },
    { type: '美容洗护', sales: 145 },
    { type: '母婴用品', sales: 48 },
    { type: '进口食品', sales: 38 },
    { type: '食品饮料', sales: 38 },
    { type: '家庭清洁', sales: 38 },
  ]
  const config = {
    data,
    xField: 'type',
    yField: 'sales',
    label: {
      // 可手动配置 label 数据标签位置
      position: 'middle',
      // 'top', 'bottom', 'middle',
      // 配置样式
      style: {
        fill: '#FFFFFF',
        opacity: 0.6,
      },
    },
    xAxis: {
      label: {
        autoHide: true,
        autoRotate: false,
      },
    },
    meta: {
      type: {
        alias: '类别',
      },
      sales: {
        alias: '销售额',
      },
    },
  }
  return <div>
    <Column {...config} />
  </div>
}
export default Home

组件封装(封装Echarts组件示例)

        1.在components下新建组件

                这里名字为Bar,目录结构如下:

        2. components/Bar/index.js

// Bar组件  子组件
import * as echarts from 'echarts'
import { useEffect, useRef } from 'react'

// 将用来自定义的提取出来
const Bar = ({ title, xData, yData, style }) => {
  const domRef = useRef()

  useEffect(() => {
    chartTnit()
  }, [])

  const chartTnit = () => {
    // 基于准备好的dom,初始化echarts实例
    const myChart = echarts.init(domRef.current)

    // 绘制图表
    myChart.setOption({
      title: {
        text: title
      },
      tooltip: {},
      xAxis: {
        data: xData
      },
      yAxis: {},
      series: [
        {
          name: '销量',
          type: 'bar',
          data: yData
        }
      ]
    })
  }

  return (<div>
    {/* 挂载节点 */}
    <div ref={domRef} style={style}></div>
  </div>)
}
export default Bar

         3.Home/index.js

//Home组件  父组件
import Bar from '@/components/Bar'

const Home = () => {
  return (<div>
    {/* 使用Bar组件 */}
    <Bar
      title='ECharts 入门示例111'
      xData={['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']}
      yData={[5, 20, 36, 10, 10, 20]}
      style={{ width: '500px', height: '500px' }} />

    <Bar
      title='ECharts 入门示例222'
      xData={['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']}
      yData={[5, 20, 36, 10, 10, 20]}
      style={{ width: '500px', height: '500px' }} />

  </div>)
}
export default Home

        4.效果展示

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
首先需要安装@ant-design/plots和echarts: ``` npm install @ant-design/plots echarts ``` 然后在React组件中引入需要的组件和数据源,例如: ```jsx import React from 'react'; import { MixChart } from '@ant-design/charts'; import * as echarts from 'echarts'; const data = [ { year: '1991', value: 3 }, { year: '1992', value: 4 }, { year: '1993', value: 3.5 }, { year: '1994', value: 5 }, { year: '1995', value: 4.9 }, { year: '1996', value: 6 }, { year: '1997', value: 7 }, { year: '1998', value: 9 }, { year: '1999', value: 13 } ]; const MixChartDemo = () => { const config = { width: 800, height: 400, appendPadding: 10, renderer: 'canvas', tooltip: { showMarkers: false, showTitle: false }, legend: { layout: 'horizontal', position: 'top' }, xAxis: { type: 'cat', label: { rotate: -45 } }, yAxis: { min: 0, max: 15 }, series: [ { type: 'line', smooth: true, data: data.map(item => ({ ...item, type: 'line' })), lineStyle: { width: 2 }, label: { position: 'top', formatter: ({ value }) => value.toFixed(1) } }, { type: 'bar', data: data.map(item => ({ ...item, type: 'bar' })), label: { position: 'top', formatter: ({ value }) => value.toFixed(1) } } ], data }; return <MixChart {...config} echarts={echarts} />; }; export default MixChartDemo; ``` 这里我们使用了@ant-design/plots的`MixChart`组件来实现线图和柱状图的混合图表,并使用echarts作为底层渲染引擎。我们指定了图表的宽高、渲染器、坐标轴、图例和系列等配置,同时将数据源传递给了`data`属性。 最后,在渲染的时候,我们将echarts对象传递给`echarts`属性,这样就可以在React使用了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值