Echarts基本引入使用

该文章展示了一个React组件,该组件利用dva进行状态管理,并结合antd的Form组件。关键部分是集成echarts库来创建数据图表,具体是一个线形图,用于显示一周内的数据变化。在组件挂载后初始化echarts实例并设置图表配置。


import * as React from 'react';
import { connect } from 'dva';
import { Form } from 'antd';
import { FormComponentProps } from 'antd/lib/form/Form';
import * as echarts from 'echarts';                                   //1.引入  echarts

interface Props extends FormComponentProps {
  dispatch: any;
}

class medicalRecordScore extends React.Component<Props, any> {

  componentDidMount() {
    this.echarts()                                                    //2.调用  echarts函数
  }

  echarts = () => {                                                   //3.函数 (记得return)
    let chartDom = document.getElementById('main');
    let myChart = echarts.init(chartDom);
    let option = {
      xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      },
      yAxis: {
        type: 'value'
      },
      series: [
        {
          data: [150, 230, 224, 218, 135, 147, 260],
          type: 'line'
        }
      ]
    };;
    return myChart.setOption(option)
  }
  render() {
    return (
      <div id='main' style={{ height: 250, width: 300 }}></div>             //4. 装图标的元素
    );
  }
}

export default Form.create<Props>()(medicalRecordScore);

页面效果:

<think>根据用户的问题,用户希望了解如何在ECharts中按需引入使用angleAxis配置项。angleAxis通常用于极坐标系(polar)中的角度轴配置,常见于雷达图、极坐标柱状图等图表类型。 从系统指令和用户需求出发,需要: 1. 提供按需引入angleAxis的方法(因为ECharts支持按需引入以减小包体积) 2. 演示如何使用angleAxis配置项 3. 生成相关问题 注意:按需引入需要从echarts/core中引入基本组件,然后注册需要的组件(包括图表类型、组件、坐标系等)。angleAxis是极坐标系的一部分,因此需要引入极坐标系(PolarComponent)和相关的图表类型(如雷达图RadarChart、极坐标柱状图BarChart等)。 步骤: 1. 安装echarts 2. 按需引入:从echarts/core中引入必要的模块,包括ECharts、CanvasRenderer(或SVGRenderer)、需要的图表类型、需要的组件(如标题、提示框、极坐标系等) 3. 注册引入的模块 4. 在配置项中使用angleAxis 示例代码(使用Vue环境,但原理通用): ```javascript // 按需引入 import * as echarts from 'echarts/core'; import { CanvasRenderer } from 'echarts/renderers'; import { BarChart, RadarChart } from 'echarts/charts'; import { TitleComponent, TooltipComponent, LegendComponent, PolarComponent, // 极坐标系组件,包含angleAxis和radiusAxis GridComponent // 如果需要直角坐标系也可以引入,但这里主要用极坐标系 } from 'echarts/components'; // 注册必须的组件 echarts.use([ CanvasRenderer, BarChart, RadarChart, TitleComponent, TooltipComponent, LegendComponent, PolarComponent, GridComponent ]); ``` 然后,在配置项中配置极坐标系(polar)和角度轴(angleAxis): ```javascript const option = { polar: { // 极坐标系设置 radius: [0, '80%'] // 半径范围 }, angleAxis: { // 角度轴配置 startAngle: 90, // 起始角度(0表示正上方,90表示正右方) type: 'category', // 类目轴,适用于离散数据 data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] }, radiusAxis: { // 半径轴配置 type: 'value' // 数值轴 }, series: [{ type: 'bar', // 使用极坐标柱状图 coordinateSystem: 'polar', // 指定使用极坐标系 data: [1, 2, 3, 4, 5, 6, 7] }] }; ``` 注意:如果使用雷达图,则配置方式不同,雷达图的角度轴通常由雷达图指示器(radar.indicator)决定,但也可以结合极坐标系使用。不过,雷达图有自己的坐标系,通常不需要单独配置angleAxis。这里主要展示极坐标柱状图。 相关问题: 1. 按需引入ECharts时如何知道需要引入哪些模块? 2. angleAxis配置项有哪些常用属性? 3. 极坐标系下可以绘制哪些类型的图表?</think>### ECharts 按需引入 angleAxis 配置方法 在 ECharts 中实现按需引入 `angleAxis`(角度轴)配置项的步骤如下: #### 1. **按需引入核心模块** ```javascript // 按需引入核心模块 import * as echarts from 'echarts/core'; import { CanvasRenderer } from 'echarts/renderers'; import { BarChart, // 柱状图(用于极坐标柱状图) RadarChart, // 雷达图(常用角度轴) PieChart // 饼图(可选) } from 'echarts/charts'; import { TitleComponent, TooltipComponent, LegendComponent, PolarComponent, // 必须引入:极坐标系组件(含angleAxis) AngleAxisComponent // 必须引入:角度轴组件 } from 'echarts/components'; // 注册模块 echarts.use([ CanvasRenderer, BarChart, RadarChart, PieChart, TitleComponent, TooltipComponent, LegendComponent, PolarComponent, AngleAxisComponent // 关键注册 ]); ``` #### 2. **配置 angleAxis** 在图表配置项中使用 `angleAxis`: ```javascript const option = { polar: { // 启用极坐标系 center: ['50%', '50%'], // 圆心位置 radius: '70%' // 半径 }, angleAxis: { // 角度轴配置 type: 'category', // 类目轴 data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], startAngle: 90, // 起始角度(90度=正上方) clockwise: false // 逆时针方向 }, radiusAxis: { // 径向轴配置 type: 'value' }, series: [{ type: 'bar', // 极坐标柱状图 coordinateSystem: 'polar', // 指定极坐标系 data: [5, 3, 6, 2, 4, 8, 1] }] }; ``` #### 3. **完整示例(Vue组件)** ```vue <template> <div ref="chartDom" style="width:600px; height:400px"></div> </template> <script> export default { mounted() { this.initChart(); }, methods: { initChart() { const chart = echarts.init(this.$refs.chartDom); chart.setOption(option); // 使用上述option配置 } } }; </script> ``` ### 关键说明 1. **必须引入的模块**: - `PolarComponent`:提供极坐标系容器 - `AngleAxisComponent`:提供角度轴功能 - 图表类型:如 `RadarChart`(雷达图)或 `BarChart`(极坐标柱状图) 2. **常见配置属性**: ```javascript angleAxis: { type: 'category' | 'value', // 轴类型 data: [...], // 类目数据 startAngle: 90, // 起始角度(单位:度) clockwise: true, // 是否顺时针 axisLine: { show: true }, // 轴线样式 splitLine: { ... } // 分隔线 } ``` 3. **应用场景**: - 雷达图性能指标分析 - 极坐标系下的柱状图(如时钟分布图) - 风向玫瑰图等环形数据可视化 > 注:按需引入可显著减小包体积,完整ECharts约776KB,按需引入后约150KB[^1]。实际引入体积取决于注册的模块数量。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值