Echarts实现柱状图下钻功能

echarts实现柱图的下钻功能 1、确保已安装了cnpm,使用cnpm命令安装echarts: 2、在main.js文件中,全局引入echarts: 3、创建柱状图HistogramChar.vue文件 4、引用该模块 5、实现效果: 原始数据,第一次加载 点击其中一条后,实现下钻功能,点击返回按钮,可以返回原来数据。......... 阅读详情
AI摘要

本文介绍如何在ECharts中实现柱状图的下钻功能,即点击柱状图可展示更详细的分类数据。利用JavaScript实现交互效果,并通过前后端配合完成数据更新。

需求描述

在一个类别柱状图上,点击柱状图上的某一类后可显示该类具体的数据。

钻取的定义

钻取是改变维的层次,变换分析的粒度。包括向上钻取(drill up)和向下钻取(drill down).drill up 是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。

基本实现方式

  • Highcharts是一个用纯JavaScripts编写的一个图表库。可简单便捷的在web网站添加有交互性的图表。
    实现效果图:
    下钻前:
    这里写图片描述
    下钻后:
    这里写图片描述
  • echarts
    Echarts本身并没有像HighCharts直接实现柱状图的下钻功能,但Echarts可以通过setOptions间接实现下钻功能。
    通过点击月份柱状图的某一月,触发点击事件,点击事件的功能是销毁该Echarts实例,并会向后台请求该月份的数据,当后台返回数据后,进行重新初始化Echarts实例。
    实现效果如下:

下钻前
下钻后

实现细节

前端部分

  • html代码
<!DOCTYPE html>
<html style="height: 100%">
   <head><meta charset="utf-8"> </head>
   <body style="height: 100%; margin: 0">
      <div style="margin-left:40%;margin-top:2%">
        <button id='return-button' value=''>back to things</button>       
      </div>
      <div id="container" style="height: 50%;width: 50%"></div>
      <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts-all-3.js"></script>

      <script type="text/javascript" src="./drillDown.js"></script>
      <script type="text/javascript" src="./return-button.js"></script>
   </body>
</html>
  • js代码
var drillDown = {
    getOption : function () {
        var option = null;
        option = {
             title: {
                 text: 'Basic drilldown',
                 left: 'center'
                 },
             legend: {
                 left: 'left',
                 data: ['category']
             },
             xAxis: {
                 type: 'category',
                 data: ['Animals', 'Fruits', 'Cars']
             },               
             yAxis: {
                  type: 'value'
             },
             series: [
                {
                   name: 'category',
                   type: 'bar',
                   data: [5,2,4]
                 }
                ]
             };
             return option;
    },
    initChart : function (myChart,option) {
        myChart.setOption(option);
        myChart.on('click',function(object){
          // 销毁之前的echarts实例
        echarts.dispose(dom);
        // 初始化一个新的实例
        var myChart = echarts.init(dom);
        // object为当前的这个echart对象,大家可以自己打印出来看看
        // console.dir(object);
        // $.ajax(
        //     type : 'get',
        //     url : interfaceUrl + '&category=' + object.name, // 此处可以替换为你的接口地址
        //     dataType : 'json',
        //     success : function (msg){
        //         option.xAxis.data = msg.xAxis;
        //         option.series[0].data = msg.yAxis[0];
        //         myChart.setOption(option, true);
        //     }
        // );
        console.dir(object.name);
        if (object.name == "Animals"){
            option.xAxis.data = [
            'Cats','Dogs','Cows','Sheep','Pigs'
            ];
            option.series[0].data = [
                4,2,1,2,1
            ];
            option.legend.data= ['Animals'];

            option.series[0].name=['Animals'];
        }
        if (object.name == "Fruits"){
            option.xAxis.data = [
            'Apples','Oranges'
            ];
            option.series[0].data = [
                4,2
            ];
            option.legend.data= ['Fruits'];

            option.series[0].name=['Fruits'];
        }
        if (object.name == "Cars"){
            option.xAxis.data = [
            'Toyota','Opel','Volkswagen'
            ];
            option.series[0].data = [
                4,2,2
            ];
            option.legend.data= ['Cars'];             
            option.series[0].name=['Cars'];
        }             
        myChart.setOption(option, true);
    });
  },
};

后端接口

@RequestMapping("getCategory.do")
@ResponseBody
public ServerResponse addCategory(HttpSession session){
    Map<String, Object>  map  =  new HashMap<>(); 
    ResultBean result = onGetCategory(); 
    out.println("result==>"  + result); 
    map.put("xAxis", result.category());                            
    map.put("yAxis", result.value()); 
    return map;
    }
}

@RequestMapping("getNameAndNumByCategory.do")
@ResponseBody
public ServerResponse getNameByCategory(HttpSession session,String Category){
        Map<String, Object>  map  =  new HashMap<>(); 
        ResultBean result = getNameByCategory(Category); 
        out.println("result==>"  + result); 
        map.put("xAxis", result.Name());                            
        map.put("yAxis", result.value()); 
        return map;
        }
 }

接口定义

1.获得全部种类及数量
/getCategory.do

  • request
    /

  • response
    {
    “xAxis”:[“Animals”,”Fruits”,”Cars”],
    “yAxis”:[5,2,4]
    }

2.获得每一类的详细内容
/getNameAndNumByCategory.do

  • request
    category

  • response
    {
    “xAxis”:[“Cats”,”Dogs”,”Cows”,”Sheep”,”Pigs “],
    “yAxis”:[4,2,1,2,1]
    }

这里没有具体实现全部代码,而是使用简单的伪代码描述了后台接口实现思路。

数据要求

数据表可以可以按如下设计:

IDcategorynamenum
1AnimalsCats4
2AnimalsDogs2
3AnimalsCows1
4AnimalsSheep2
5AnimalsPigs1
6FruitsApples4
7FruitsOranges2
8carsToyota4
9carsOpel2
10carsVolkswagen2

总结

【vue】Echarts3D地图下钻 地图下钻是一个非常常见的功能需求,本篇文章会细致讲解如何在Vue3中使用Eharts-gl渲染出3D地图,并且实现地图下钻和返回上级地图的完整功能。 阅读详情

相关推荐

uni-app使用echarts--h5端--可以实现地图下钻

uniapp开发h5 创建项目 参考uniapp官网 点此直达 引入echarts 需要引入uniapp插件市场的插件echarts-renderjs 仅支持 app-vue、h5 端 要求 uni-app 2.5.5+ 以上版本 APP端要求使用v3编译器 本例使用的echarts版本为4.2.1;经测试,4.7及以下的版本均会导致h5移动端不能与图形交互 如等到renderjs可与业务层方便的通信时,请自行优化 使用 1.项目中引入echarts.min.js 2.创建e..

猿来如此的博客 5799

echarts积累之--图表下钻

echarts积累之图表下钻

weixin_58031521的博客 4043

通过Echarts怎样实现立体柱状图

大家好,我是梁木由。之前在做大屏可视化项目时,UI设计了一个立体形状的柱状图,根据之前做的一些图表的项目没有能复用的,没有做过这种立体形状的图表,打开echarts也没看到有相关的demo,看下如何实现`

weixin_55123102的博客 7151

【Echarts】点击事件,点击柱状图柱子实现下钻

点击柱状图柱子实现超下钻

m0_67372185的博客 1133

通过ECharts 实现数据下钻

效果图: 先展示所有年份数据,然后在下钻到该年的月份数据 核心代码: 其实现思路,主要是通过echarts的点击事件,当点击了当前年份柱状图时,获取当前的年份数字,然后调用后台接口拿到该年份的月份数据,然后重新给 echarts 设置 options即可 <template> <div :class="className" :style="{height:height,width:width}" /> </template> <scri...

郭宝的博客 2611

Echarts地图下钻与柱状图条形图融合可视化实战

Echarts作为百度开源的一款功能强大、交互丰富的JavaScript可视化图表库,广泛应用于各类数据展示场景。其核心优势在于高度可定制化、支持多种图表类型以及良好的浏览器兼容性。在地理信息可视化领域,Echarts通过Geo系列组件实现了地图的灵活渲染与交互操作,尤其适用于需要区域数据分析和层级下钻的应用场景。本章系统介绍了Echarts的基本架构与核心模块,重点阐述了地图下钻、柱状图与条形图结合展示的技术价值与业务意义。

weixin_33068055的博客 673

echarts 柱状图点击下钻,点击外部按钮可返回

<!DOCTYPE html> <html style="height: 100%"> <head> <meta charset="utf-8"> </head> <body style="height: 100%; margin: 0"> <div style="margin-left:40%;margin-top:2%"> <button id='return-button' value=''.

qq_40295815的博客 2266

智能车八邻域图像算法

智能车八邻域图像算法

技术缝合怪的博客 4万+

echarts实现向下钻取

实现一个向下钻取的效果:柱形图点击柱子则钻取,点击柱图空白返回。 line_chart1 = echarts.init(document.getElementById('lineChart1')); line_option1={ backgroundColor:'#0B2F64', title : { show:true, text: '这是一个标题', ...

仅次于狼的博客 4273

Intel网卡固件烧录实战:eeupdate与bootutil命令完全解析

固件作为硬件设备底层运行的软件,其稳定性直接决定硬件功能的完整性。网卡固件一旦损坏,常表现为MAC地址丢失、PXE启动失效、NVM数据异常导致降速或掉线。维护这类问题,需借助Intel官方工具eeupdate与bootutil在UEFI Shell或DOS环境下执行底层烧录操作。eeupdate负责网卡的身份信息与NVM存储管理,可重置MAC、恢复固件镜像;bootutil则专管启动行为,支持PXE配置与Boot Agent升级。从环境准备、命令参数到故障恢复,掌握这两款工具能让运维人员在修复存量网卡、应对

weixin_34269583的博客 312

什么是无人机巡检?如何实现无人机自动巡检?

复亚智能的无人机自动巡检系统通过高度自动化的技术,实现了无人机的高效巡检作业。无人机自动机场支持无人机的自动起降和电池更换,自动飞行算法确保无人机在复杂环境中的精准飞行和拍摄,而云端识别诊断和AI感知算法平台则实现图像的实时传输和智能分析。复亚智能,作为无人机技术的创新者和推动者,致力于开发先进的无人机自动巡检解决方案,助力各行各业实现智能化、自动化的巡检工作,引领智能巡检的未来。利用人工智能和机器学习算法,无人机可以被训练来识别特定的模式和异常,如结构损坏、热泄漏等,从而提高巡检的准确性和效率。

foiadrone的博客 2842

echarts柱状图下钻

&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html style=&quot;height: 100%&quot;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;utf-8&quot;&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body style=

qq_597221342的博客 3304

【人工智能】人工智能基础概念、流派、发展史

人工智能初衷就是让计算机能够像人类一样具有自我思考、自我学习、自我决策的能力。依据百度百科上对人工智能定义:人工智能是研究、开发用于模拟、扩展和延伸人的智能的理论、方法、技术及应用系统的一门新的技术学科。人工智能是研究使计算机来模拟人的某些思维过程和智能行为的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。

WEL测试 1882

漏刻有时数据可视化Echarts组件开发(21):基于echarts开发的自动旋转map3D下钻和柱图地图

基于echarts开发的自动旋转map3D下钻和柱图地图,基本需求: 加载某地级市map3D地图,并实现单击下钻功能 自动旋转动画,提升视觉冲击力 增加bar3D柱图 项目分析 map3D不支持动态散点图和自动区域板块轮播功能 自动旋转功能,设置viewControl对应属性 series-bar3D,三维柱状图属性 地理数据对应映射表 /*各区县geojson地理数据对应映射表*/ var citys = { '渝中区': 'yuzhong', '万州区': 'wanzhou',

挖掘大数据价值,让决策者快速洞悉趋势,让大众读懂数据背后的故事。 1451

使用单片机开发PWM的案例&相关项目源码

该项目使用STM32单片机生成PWM信号,通过改变PWM的占空比来控制连接在PWM输出引脚(如PA0)上的LED的亮度。在主循环中,通过改变比较值,PWM信号的占空比在0%到100%之间变化,从而实现LED亮度的渐变效果。这个项目是一个基础的PWM控制示例,通过学习和实践这个项目,可以掌握PWM的基本原理和使用方法,并为进一步开发和应用打下良好的基础。该项目实现了使用STM32单片机产生PWM信号,并通过改变PWM的占空比来控制LED的亮度。配置PWM输出引脚(如PA0),确保其模式为PWM输出。

清风明月 643

【LaTex】3.5 数据分析

简述了LaTex柱状图、饼图、折线图的画法。

你的指尖有改变世界的力量 5888

echarts点击柱状图x轴或柱子实现超链接或下钻

1、需求,点击x轴坐标,触发事件,实现超链接、下钻等功能。2、将xAxis属性中的triggerEvent设置为true; 3、点击x轴事件,params.value代表点击x轴获取到的值 4、点击柱子事件,获取到object对象,通过object属性,判断点击哪个柱子,x轴等信息...............

恒二哥的博客 3466

无人船 | 基于ROS的轻量级多无人艇自主导航仿真框架

无人水面艇USV是海上自主无人系统的关键组成部分,在民用、军用领域应用广泛,例如海上救援、水质测量、扫雷反潜等,因此对USV导航算法的研究具有重要意义。为了便于进行USV相关算法的验证与部署,本文介绍的这套基于ROS的多无人艇的自主导航仿真平台,轻量化地实现了建图、规划、控制等多种功能,同时自研框架保证了功能的高度可拓展和可定制

FRIGIDWINTER的博客 8002

echart柱状图下钻

前言:举个列子,显示一周每天营业额            要知道每天都具体卖了哪些东西            所以还可以点击具体的哪一天,下钻查看具体卖出物品           现在只能点击星期一 &lt;!DOCTYPE html&gt; &lt;html lang="zh"&gt; &lt;head&gt; &lt;meta charset="UTF-8" /&gt; &lt;

幸福有多远 2267

使用 Python 爬虫获取中国证券市场公司公告数据

本文详细介绍了如何使用 Python 爬虫技术从中国证券市场(如巨潮资讯网)爬取公司公告数据。通过分析网页结构,编写爬虫脚本,抓取并存储公告信息,我们实现了从网页抓取数据的全过程。此外,本文还展示了如何应对反爬虫机制,并介绍了数据分析与可视化的基本方法。未来,我们可以通过机器学习等技术进一步挖掘公告中的潜在信息,例如,通过情感分析对公告内容进行情绪分类,或者预测某些公告类型对股市走势的影响等。希望本文能帮助你理解如何使用 Python 爬虫技术获取和处理证券市场的数据,并为你的数据分析项目提供帮助。

2201_76125261的博客 1887

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

echarts实现各种下钻图,并从数据库获取数据填充

在实习工作中,老大让我用后端数据,在前端页面展现并显现柱状图,折线图或饼状图。接到任务二话不说先百度,结果发现了echarts插件。经过查看用户手册了解了大概的用法就开始操作起来,其中发现不少坑,记录下来。 1、先拿样例的代码显现柱状图,前端自己虚构数据。 在引入echarts.min.js的时候进入第一个坑,可能因为项目结构拦截器的原因,像这样直接引用项目内,是引不进来的。 但是从新建一个案例项目可以用。 而且直接引入静态文件也是错误的 可...

qq_51611509的博客 3117

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

基于echarts实现省市县地图三级下钻以及图表联动操作

本项目采用Flask框架基于echarts实现省市县地图三级下钻以及图表联动操作 运行软件:Pycharm 运行环境:python3.8 第三方包: flask,pymysql,utils 实现效果: 省市县三级下钻展示: 市级: 县级: 扇形图做总控制台,柱状图以及表格跟随联动: 如点击扇形图里面的陕西,柱状图跟表格则会切换为陕西的数据 本项目已开源到Github,欢迎star本人的笨比代码. 链接:MapdrildownAndLinkage ...

qq_45206934的博客 1302

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Vue(2) + Echarts 实现二级地图下钻功能(新手小白 带注释 超详细)

VUE(2) + echarts 实现二级地图下钻功能(新手小白 带注释 超详细)

Guanchong333的博客 2512

Echarts实战案例代码(58):柱图下钻的解决方案

项目说明 单击柱图进入该列对应的详情数据; 双击详情数据柱图,返回柱图; 构建容器 <div id="main" style="width:100%;height: 100%"></div> 封装函数 //封装函数; function makeBar(title, name, data, type) { var color = ""; //根据数据情况显示不同属性; if (type == "0") { .

挖掘大数据价值,让决策者快速洞悉趋势,让大众读懂数据背后的故事。 794

Echart下钻

echart实现双纵坐标(一数据一百分比),两柱一折,可下钻,直接看源代码,这来就不写教程了,一看便懂,只有一个HTML文件,echart和jq都是引用在线的。 这里啰嗦一下,更多编程学习记得关注我的公众号 源码链接: 链接:https://pan.baidu.com/s/1qpbl9_rebjd2mcnp8EOVNg 提取码:4ozt 下钻前的展示 下钻后的展示 ...

Hakim2214的博客 374

Vue中实现echarts柱状图下钻

效果图 应用场景 需要实现数据下钻的,比如年销售额到月销售额,应用场景很多。 html <template> <div class="chart"> <div ref="chartEle" id="chart" style="width: 100%; height: 600px; margin: 0 auto;"></div&...

dizuncainiao的博客 5227
上一篇: shell编程之批量创建文件夹
下一篇: linux虚拟机修改ip地址
SeaWind-
博客等级 码龄9年 12粉丝 10原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值