react笔记_14在react中使用echarts

news2024/10/7 14:28:44

目录

      • echarts官网
      • 在项目引入echarts
        • [1]下载
        • [2-1] 全量引入
        • [2-2]按需引入
          • 问题 - 仅引入核心模块
      • 图表配置
        • [1] 柱状图(bar)
          • 横/纵向柱状图
        • [2] 漏斗图(funnel)
          • 漏斗图的形状

echarts官网

echarts官网

在项目引入echarts

[1]下载

npm install echarts

[2-1] 全量引入

import * as echarts from 'echarts';

全量引入指的是引入了echarts的核心模块、全部图表以及图表所能用到的组件。

若是你的项目仅仅是使用1个或少数图表,建议使用按需引入。。。

[2-2]按需引入

  • 引入 echarts 核心模块
     import * as echarts from "echarts/lib/echarts";
    
  • 按需引入需要的图表及组件,如下
      // 引入柱状图以及漏斗图
      import { FunnelChart, BarChart } from 'echarts/charts';
      // 引入组件
      import { GridComponent, TitleComponent, TooltipComponent, LegendComponent } from 'echarts/components';
      // 注册
      echarts.use([FunnelChart, BarChart,  GridComponent, TitleComponent, TooltipComponent, LegendComponent]);
    
  • 配置项渲染dom
    const chartDom = useRef()
    const option = {...}
    const  myChart = echarts.init(chartDom.current)
    myChart.setOption(option)
    
问题 - 仅引入核心模块

以echarts官网快速入门案例为例讲解一些如果仅引入核心模块就进行option配置会出现什么问题~

  • [1] 引入echarts核心模块
    import * as echarts from "echarts/lib/echarts";
    
  • [2] 配置option并渲染dom
    useEffect(async () => {
      const option = {
        title: {
          text: 'ECharts 入门示例'
        },
        tooltip: {},
        legend: {
          data: ['销量']
        },
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
        },
        yAxis: {},
        series: [
          {
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20]
          }
        ]
      }
      const  myFunnelChart = echarts.init(funnelchartDom.current)
      myFunnelChart.setOption(option)
    },[]);
    
    此时会报错如下
    在这里插入图片描述
    按照上述报错引入所需组件
    import { GridComponent, TitleComponent, TooltipComponent, LegendComponent } from 'echarts/components';
    echarts.use([ GridComponent, TitleComponent, TooltipComponent, LegendComponent]);
    
    此时不报错了,但是展示的图表如下(并没有达到所需效果)
    在这里插入图片描述
    但是此时也不报错了,此时找错误变得艰难起来,其实就是没有引入图表而已, 引入图表之后就能正常显示了~
    import { BarChart } from 'echarts/charts';
    import { GridComponent, TitleComponent, TooltipComponent, LegendComponent } from 'echarts/components';
    echarts.use([ BarChart, GridComponent, TitleComponent, TooltipComponent, LegendComponent]);
    
    在这里插入图片描述
    当然这个问题也很少有人会犯这个错误,只是第一次引入不熟悉流程才有可能~

图表配置

[1] 柱状图(bar)

横/纵向柱状图

在柱状图中是分为x轴与y轴的,默认情况下x轴表示类目的y轴表示数量,但是若是我们需要 横向柱状图如下,那应该如何配置呢?
在这里插入图片描述

在xAxis与yAxis配置项中都存在type属性,属性值有4个分别如下:

  • value 数值轴 (y轴默认值)
  • category 类目轴 (x轴默认值)
    注: 可用data属性直接设置类目数据(不设置type属性)
  • time 时间轴
  • log 对数轴

若想x轴与y轴对调,仅需将xAxis与yAxis的type属性值对调即可,如下

const option = {
  xAxis: {},
  yAxis: {
    data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
  },
  series: [
    {
      name: '销量',
      type: 'bar',
      data: [5, 20, 36, 10, 10, 20]
    }
  ]
}

虽然此时显示的是横向柱状图,但是数据的排列顺序是从下往上排列,看起来与我们设置的数据顺序是相反的(因为设置爹第一个数据是衬衫,总觉得此时第一个应该是衬衫,但是实际衬衫在最下面)
在这里插入图片描述

其实xAxis/yAXis配置项中存在inverse数据-> 是否是反向坐标轴

  yAxis: {
    data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'],
    inverse: true
  },

在这里插入图片描述

[2] 漏斗图(funnel)

漏斗图的形状

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/543397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA_学习_05_管脚约束

前言:就初学管脚约束相关知识而言,内容还不足以构成饱满的文章。 但管脚约束是一个独立的内容,它是值得有一篇单独的博客的。若后续学习了管脚约束新的知识,则进一步扩充本篇博客内容。 1 XDC基础语法 Vivado的管脚约束文件用XDC…

易基因:m5C高甲基化介导EGFR突变的非小细胞肺癌耐药潜在机理|国人佳作

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 对EGFR酪氨酸激酶抑制剂(EGFR-TKI)的固有耐药(Intrinsic resistance)和获得耐药(acquired resistance)是EGFR突变型非小细胞肺癌(NSCLC)患…

当上了小领导如何管理手下员工才能最高效的工作?

公司新建了一个项目,我负责招人并管理,之前没有正式的管理经验,如何才能更好的管理新人,快速推进工作? 在公司新建项目时,担任小领导的你需要负责招人和管理团队成员。作为一个没有正式管理经验的人&#x…

Elsevier Ocean Engineering Guide for Authors 解读

文章目录 ★Types of contributions★Submission checklistEthics in publishing★Declaration of competing interestDeclaration of generative AI in scientific writingSubmission declaration and verificationPreprint posting on SSRNUse of inclusive languageReportin…

vue-antd-admin加载动态菜单的步骤——vue3动态菜单——技能提升

最近在写后台管理系统时,发现老系统有个需求,就是动态加载菜单 以往的静态菜单:路由都放在router/config.js中,菜单页面放在pages里面。 加载的动态菜单:路由是通过接口获取,然后加载到路由中&#xff0c…

凌恩生物美文分享 | Nature教你如何深入开展植物基因组研究,看这篇绝对够!

自三代测序技术面世以来,基因组的相关研究迈上了一个新台阶,无论是完整性、连续性、准确性较二代测序技术组装基因组均有较大的提升。凌恩生物也紧随前沿,整合多种优势技术及信息分析平台,涵盖Illumina,Pacbio等多种测…

阿里主动改革,再次引领国内公司治理新浪潮

北京时间2023年5月18日美股盘前,阿里公布2023财年Q4及全年财报,整体财务状况符合市场预期,但推动组织变革的进度,却给了市场一个“惊喜”。 财报中,阿里宣布了整体组织变革背景下,旗下数个业务的未来方向&…

【HISI IC萌新虚拟项目】Package Process Unit模块整体方案·PART2

4.系统功能和主要技术指标论证 4.1芯片总体结构图 芯片总体结构框图如图2所示。 图 2 packet_process_unit 芯片结构框图 芯片内部主要电路包括 cpu_if 接口电路、sram 检测电路 test_core 以及 spt 包转发接口电 路。以下对主要部分分别进行简要介绍: 1.cpu_if 接口电路 该…

LOTO示波器如何测试阻抗的频响曲线

LOTO示波器如何测试阻抗的频响曲线 模块的输入输出端口,在电路分析上,一般简单表征为电阻来进行计算和分析。但多数情况下,这些端口并不是纯电阻的特性,更精确一些,它可能是电阻电容以及电感的组合,表现为非…

Vite打包优化

关于指标,这里简单介绍下常见的优化指标 FCP(First Contentful Paint):白屏时间(第一个文本绘制时间)Speed Index:首屏时间TTI(Time To Interactive): 第一次可交互的时l…

什么是合伙企业?普通合伙和有限合伙区别?

1.什么是合伙企业? 合伙企业是指由各合伙人订立合伙协议,共同出资,共同经营,共享收益,共担风险,并对企业债务承担无限连带责任的营利性组织。合伙企业一般无法人资格,不缴纳企业所得税,缴纳个…

自制0-36V便携电源:typec+pd诱骗

1、芯片选择: 1.1、LDR6321 选用LDR6321,最高诱骗输出20V,手册如下: https://atta.szlcsc.com/upload/public/pdf/source/20211112/6C547DE14631DD2A11892D79A9F4FADD.pdf 该芯片立创商城有售,淘宝也有售&#xff0c…

pix2pixHD

High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs pix2pixHD提出了一个模型用于从label map中生成真实的photo。 pix2pixHD都是使用的CGAN的思想,不同的是本文可以产生更加高清的图像,pix2pix生成的是256x256&#xf…

js内存泄露

文章目录 定义引起内存泄漏的操作:Chrome 控制台查看内存情况无痕模式PerformanceMemotry1. 先用 Allocation instrumentation on timeline 确认问题2. 再用 Head snapshot 定位代码 闭包函数使用不当 js内存泄露如何检测?场景有哪些?如何定位…

2023年财务管理案例研究与应用(圆桌)论坛在京举办

2023年5月13日,由中国企业财务管理协会、机械工业信息研究院与用友网络科技股份有限公司共同策划的 2023 财务管理案例研究与应用 (圆桌) 论坛在用友产业园成功举办。 国务院国资委财务监管与运行评价局局长李冰,中国企业财务管理协会副会长(…

macOS 安装NVM

一、卸载已经安装的node 我用命令brew uninstall node16 发现报错 后面我用where node 发现当时安装node并没有用brew工具安装 于是运用删除文件的方式卸载node sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}二、brew 安装nu…

MySQL—日志

文章目录 一、错误日志二、二进制日志2.1 介绍2.2 格式2.3 查看2.4 删除 三、查询日志四、慢查询日志 一、错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据…

铿锵玫瑰 别样绽放

-----衢州首支飞盘女队成立 5月15日在一个火热既温馨的下午,在衢州市衢江区社会组织服务中心“馨满益足”女工服务站里。首批优秀女性代表集聚一堂举行了衢州铿锵玫瑰飞盘女队沙龙。至此衢州首支飞盘女队正式落地,这支队伍将在今后参加各类女子飞盘比赛…

DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小

原文:DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小,点击链接查看更多技术内容。 动态共享包(HSP)开发是DevEco Studio 3.1 Release版本带来的新特性,基于新的编译方式&#xff…

gpt接口新增配额控制

工作内容,不对外开放 场景: 用户使用gpt时会消耗token,我们要求能够在某个地方配置gpt限额,gpt限额有全局限额也有个人配置的限额, 先配置一个默认的全局的限额(所有用户gpt3.5每个月不能超过1000,每天不能超过500,每个小时不能超过100), 用户可以配置用户的限额(该…