Echarts实现“暂无数据”的几种方案

echarts图表无数据时,显示"暂无数据",富文本rich格式化title echarts图表无数据时,显示"暂无数据",富文本rich格式化title 效果图如下: ... 阅读详情

如题,本文用于记录 Echarts 实现 暂无数据 的几种方式。

以下几种实现方式的 HTML 代码均如下:

<div id="noData" style="width: 100%;height:400px;"></div>
  1. 通过 title 配置项来实现

    const init = (data) => {
      const myChart = echarts.init(document.getElementById('noData'))
      const option = {
        title: {
          show: !data.length, // 无数据时展示 title
          textStyle: {
            color: 'black',
            fontSize: 26
          },
          text: '暂无数据',
          left: 'center',
          top: 'center'
        },
        xAxis: {
          show: data.length, // 无数据时不展示 x 轴
          type: 'category',
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        yAxis: {
          type: 'value'
        },
        series: [
          {
            data,
            type: 'line'
          }
        ]
      }
      myChart.setOption(option)
    }
    // const data = [150, 230, 224, 218, 135, 147, 260]
    const data = []
    init(data)
    
  2. 通过 showLoading API 来实现

    const init = (data) => {
      const myChart = echarts.init(document.getElementById('noData'))
      const option = {
        xAxis: {
          type: 'category',
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        yAxis: {
          type: 'value'
        },
        series: [
          {
            data,
            type: 'line'
          }
        ]
      }
      myChart.setOption(option)
      if (!data.length) {
        myChart.showLoading({
          text: '暂无数据',
          showSpinner: false,
          textColor: 'black',
          maskColor: 'rgba(255, 255, 255, 1)',
          fontSize: '26px',
          fontWeight: 'bold'
        })
      } else {
      	myChart.hideLoading()
      }
    }
    // const data = [150, 230, 224, 218, 135, 147, 260]
    const data = []
    init(data)
    

    有数据时记得调用 hideLoading() 否则图表将无法展示。

    附:showLoading API

  3. 通过 graphic 配置项来实现

    const init = (data) => {
      const myChart = echarts.init(document.getElementById('noData'))
      const option = {
        xAxis: {
          show: data.length, // 无数据时不展示 x 轴
          type: 'category',
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        yAxis: {
          type: 'value'
        },
        series: [
          {
            data,
            type: 'line'
          }
        ],
        graphic: {
          type: 'text',
          left: 'center',
          top: 'middle',
          silent: true,
          invisible: data.length,
          style: {
            fill: 'black',
            fontWeight: 'bold',
            text: '暂无数据',
            fontSize: '26px'
          }
        }
      }
      myChart.setOption(option)
    }
    // const data = [150, 230, 224, 218, 135, 147, 260]
    const data = []
    init(data)
    

    这种方式的实现原理是在图表上再增加一个图层,图层上写着暂无数据的提示,如果想要展示图片的话也是可以的,比较灵活,所以个人认为这种方式是最佳的解决方案。

    附:graphic 配置项手册

优雅处理 ECharts 无数据场景的最佳实践 直接替换 DOM 会导致 ECharts 实例与 DOM 节点解绑,后续操作会抛出。:首次进入页面即刻渲染, 得放置于dom挂载后(mounted生命周期)通过 dispose() 方法销毁旧实例, 避免内存泄漏。直接隐藏图表容器会导致 ECharts 实例报错。后端接口返回空数据时图表区域留白。临时添加的占位符需要维护两套样式。频繁的 DOM 操作影响页面性能。:通过插槽支持自定义占位内容。:结构/样式/逻辑三层分离。:通过 CSS 控制显隐。在组件卸载时自动清理资源。 阅读详情

相关推荐

给echarts添加筛选时间控件时,控件不显示,并设置数据库无数据时echarts模块显示暂无数据

给echarts模块添加时间控件时,控件无效,经检查发现,控件被画布遮盖了,需要用一个form标签包括时间控件,否则时间控件不生效。另外,如果echarts从后台获取到的数据为空,需要提示暂无信息。这时,需要使用一个div,在有数据时显示echarts,在无数据时显示暂无数据。 HTML: <style> body { background-co...

iamlzyoco的博客 4099

echarts 显示暂无数据的具体方法

有数据时记得调用 hideLoading() 否则图表将无法展示。实现原理是在图表上再增加一个图层,图层上写着暂无数据的提示。

sinat_33255495的博客 8661

APK静态分析(取证角度)——理论部分

APP是指应用程序(Application),是指能够在手机、平板电脑、电脑等移动设备上运行的软件。APP可以帮助用户进行各种功能操作,如社交媒体、游戏、购物、学习、工作等。用户可以通过应用商店或者在线下载安装APP,然后在设备上使用它们。APP的种类非常丰富,能够满足用户不同的需求和兴趣。

currify的博客 3210

echarts图表没有数据时展示“暂无数据“

echarts图表没有数据时展示"暂无数据"

Betty_666的博客 5367

如何理解Apollo模型参考自适应控制MRAC

最近有了解到百度无人驾驶Apollo项目中的横向控制有用到MRAC(Model Reference Adaptive Control),于是便详细研究了一下这个控制方法,在此总结一下心得。 什么是MRAC MRAC控制系统的基本结构图如下所示: 它由两个环路组成,由控制器和受控对象组成内环,这一部分称之为可调系统,由参考模型和自适应机构组成外环。实际上,该系统是在常规的反馈控制回路上再附加一个参考模型和控制器参数的自动调节回路而形成。在该系统中,参考模型的输出或状态相当于给定一个动态性能指标,(通常,参考模

zmhzmhzm的博客 6480

半导体工厂自动化实战:用secs4net实现设备与MES系统通信(附完整代码)

本文详细介绍了如何利用secs4net框架实现半导体工厂设备与MES系统的高效通信。通过解析SECS/GEM协议的核心架构、关键业务场景实现及性能优化实践,帮助开发者快速掌握工业自动化通信技术,提升生产效率和系统稳定性。

transformer2023的博客 893

ECharts:显示暂无数据

ECharts:显示暂无数据,阐述在Vue项目中,当ECharts图表数据为空,或者不合法时,显示“暂无数据”文字的基本思路,并结合ECharts官网文档给出相应参数的基本解释。

席木木的博客 4836

PyCharm中Pyvips配置避坑指南:为什么pip安装后import还是报错?

本文详细解析了在PyCharm中配置Pyvips时,即使pip安装成功,import仍报错的根本原因。核心在于Pyvips依赖的libvips原生库未正确配置环境变量。文章提供了从下载libvips、配置Windows系统PATH到PyCharm项目级设置的完整避坑指南,并对比了三种配置策略,帮助开发者彻底解决DLL加载失败问题。

bush的博客 209

echarts 图表无数据/空数据 展示“暂无数据”

我们从后端获取数据动态渲染图表时,难免会遇到数据为空的情况(虽然实际应用中这样的bug极少遇到),但考虑周全一点也好,看如何实现吧。

细节怪的博客 3万+

nnU-Net v2实战:从零开始配置环境与训练自定义医学影像数据集

本文详细介绍了nnU-Net v2在医学影像分割中的实战应用,从环境配置到自定义数据集训练的全流程。重点讲解了Python 3.9+环境搭建、PyTorch安装技巧、医学影像数据预处理规范,以及五折交叉验证训练方法,帮助开发者快速掌握这一先进的医学影像分析工具。

weixin_28718487的博客 352

Briefings in Bioinformatics投稿经验分享

Briefings in Bioinformatics投稿经验分享

LiRongLu_的博客 3340

新版ECharts实现“暂无数据”的完美解决方案

在旧版ECharts中,此功能是通过配置noDataLoadingOption来实现的,但此配置项在新版中已经被移除 综合网上找到的一些方法,大致如下: 借用Title来显示“暂无数据” 通过showLoading的方法来显示 通过graphic来配置 第一种方法属于取巧的方法,如果不使用统计图自带标题的话,是没问题的。但如果使用了标题的话,就会产生冲突了 title: { show: data.length == 0, // 没数据才显示 extStyle: {

Harryfin的专栏 2万+

2.1 amdgpu BO的类型和用途

AMDGPU驱动中,amdgpu_bo_create_user和amdgpu_bo_create_kernel分别用于创建用户空间和内核空间的buffer对象(BO)。用户空间BO支持元数据、tiling flags等属性,由GEM handle管理生命周期;内核BO则用于驱动内部资源如ringbuffer,自动pin并可选CPU映射。二者在返回类型、生命周期管理和使用场景上存在根本差异,前者面向图形渲染/AI等应用,后者服务于驱动内部任务。

图形/计算GPU的驱动与虚拟化技术分享园地 2213

echarts在没有数据时显示暂无数据

需求描述: 如上图,若选择的日期范围内没有数据时,接口返回数据为空,此时需要在echarts dom区域内显示“暂无数据”的提示文字; 并且,若在暂无数据之后重新选择日期范围,当重新有数据时,可以正常渲染图表。 解决思路: 在 echarts 正常渲染后,会在容器 div 上面添加一个自定义的属性_echarts_instance_,比如 当某一次数据请求失败的时候,可以在 div#ec_container里面插入 一段 html 用于提示用户,比如 暂无数据,此时的 div#ec_container 变

weixin_43445771的博客 1万+

ICC2 user guide(二)Placement and Optimization

ICC2 place阶段user guide

m0_61544122的博客 9227

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

echarts 图表无数据为空时显示“暂无数据”

如标题所述,我们希望 echarts 图表在没有数据时显示 “-暂无相关数据-” 字样。 操作: 需要对返回的数据做判断,如果有数据则正常显示图表,如果没有数据,我们将此 div 的内容改为文本 “-暂无相关数据-”,并设置样式即可。 HTML: <div id="chart"></div> JS(Vue): 方法(一): // 无数据时:展示暂无数据 const dom = document.getElementById('chart'); dom.innerHT

細水、長流√的专栏 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

echarts显示暂无数据

1、 初始化图表的位置、大小啥的 <el-row :gutter="20"> <el-col :span="12"> <el-card> <div id="userBox" class="chart-box"></div> </el-card> ...

努力的小玲子 2万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

echarts设置暂无数据没有你想的那样简单

最近找到一个VUE的文档,它将VUE的各个知识点进行了总结,整理成了《Vue 开发必须知道的36个技巧》。内容比较详实,对各个知识点的讲解也十分到位。

军火库 4891

echart 没有数据的时候,完美展示暂无数据

echart 没有数据的时候,展示暂无数据 data(){ return { show:null, } } 在你掉接口拿数据去渲染chart图标的时候,渲染数据的时候判断一下 if(allLastValue.tzList.length===0 && allLastValue.bMIList.length===0){ show=true; } var myChar...

何婷的博客 1万+

echarts没数据的时候,页面显示暂无数据

echarts没数据的时候,页面显示暂无数据。

qq_58307541的博客 1414

echarts无数据时显示暂无数据或者用图片代替

echarts无数据处理方法

qq_54089372的博客 4623

Echarts图表使用-“暂无数据“优化、饼图轮播、饼图静态当前高亮、柱状图画时间段(圆内各个扇形)

Echarts图表使用-"暂无数据"优化、饼图轮播、饼图静态当前高亮、柱状图画时间段(圆内各个扇形) 【包含】避免出现echarts.js:2218 There is a chart instance already initialized on the dom.警告

工作中遇到问题记录 2970

echarts无数据时显示暂无数据进行占位

效果: 思路: 提前在 data 中配置一个暂无数据的 option,然后在初始化 echarts 的时候判断接口返回数据是否未空,如果为空就 setOption 暂无数据的 option 渲染 dom,否则正常 setOption 接口数据渲染 dom //data option: { title: { text: "暂无数据", x: "center", y: "center", textS..

cczz66的博客 6962

echarts 无数据时提示文字

需求:要求图表没有数据时,文字提示“暂无数据” 思路:使用echarts的title做提示,通过有无数据,设置title的show属性为true / false echarts 设置 title的API: https://echarts.apache.org/zh/option.html#title 效果图: ①没数据时显示文字“暂无数据” ②有数据时: 代码: // 这里判断后端有无值,设置是否显示title let showed = this.list...

Alice9969的博客 6994

【echarts图表】提示暂无数据

可以使用鼠标右键 Copy— Copy outerHtml复制下来放到我们的页面代码当中即可。

sunshineTing2的博客 1269
上一篇: 利用 Vue 自定义指令实现按钮级别权限控制
下一篇: Vue + ElementUI 实现动态更换任意主题色(动态换肤)
趣果有间
博客等级 码龄10年 15粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值