echarts 折柱表混合图(折线,柱状图,表格)

2023-10-26

效果图如下:
在这里插入图片描述
代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="js/echarts.js"></script>
    </head>
    <body>
        <div class="chart">
            <div id="lineBar" style="width: 100%;height:400px;"></div>
        </div>
        <script>
            var myCharte = echarts.init(document.getElementById('lineBar'));
            const colors = ['#5b9bd5', '#ed7d31', '#a5a5a5'];
            // 新关注人数
            var newData = [2, 4, 7, 23, 25, 76, 135, 162, 32, 20, 2, 4, 7, 23, 25, 76, 135, 162, 32, 20,2, 4, 7, 23, 25, 76, 135, 162, 32, 20]
            // 取消关注人数
            var cancelData = [1, 2, 2, 10, 6, 12, 30, 30, 18, 18, 1, 2, 2, 10, 6, 12, 30, 30, 48, 18,1, 2, 2, 10, 6, 12, 30, 30, 48, 18]
            // 净增关注人数
            var addData = [1, 2, 5, 13, 19, 54, 105, 132, 14, 2,1, 2, 5, 13, 19, 54, 105, 132, 14, 2,1, 2, 5, 13, 19, 54, 105, 132, 14, 2,]
            // 最大日期数量 0 开始
            var maxDate = 29;  
            // 日期
            var dateDay = [];
            for (var i=1;i<maxDate+2;i++) {
                dateDay.push(`${i}`)
            }
            
            option = {
                grid: {
                    x: 130,
                    y:45,
                    x2: 40,
                    y2: 170
                },
                tooltip: {
                    trigger: "axis",
                    axisPointer: {
                        type: "cross",
                        crossStyle: {
                            color: "#999"
                        }
                    }
                },
                legend: {
                    align: "right",
                    itemGap: 30,
                    orient: "vertical",
                    textStyle: {
                        color: "#000"
                    },
                    bottom: 10,
                    left: 0,
                    data: ["新关注人数", "取消关注人数", "净增关注人数"]
                },
                xAxis: [{
                        type: "category",
                        max: maxDate,
                        offset: 8, 
                        interval: Math.ceil(12) / 12,
                        axisLabel: {
                            fontWeight: "bold",
                            show: true,
                            interval: 0, // 强制显示全部刻度名
                            textStyle: {
                                fontSize: "14px"
                            }
                        },
                        lineStyle: {
                            color: '#f00',
                            width: 1,
                            type: 'solid',
                        },
                        data: dateDay,
                    },
                    {//下方表格的竖线
                        position: "bottom", // 将分组x轴位置定至底部,不然默认在顶部
                        offset: 45, // 向下偏移,使分组文字显示位置不与原x轴重叠
                        axisTick: {
                            length: -160, // 延长刻度线做分组线
                            inside: true, // 使刻度线相对轴线在上面与原x轴相接,默认在轴线下方
                            lineStyle: {
                                color: "#999"
                            } // 非必须,仅为了演示,明显标示出分组刻度线
                        },
                        max: 29,
                        interval: 2,
                        axisLabel: {
                            inside: true, // 使刻度名称相对轴线在上面与原x轴相接,默认在轴线下方
                            interval: 0 // 强制显示全部刻度名
                        },
                        data: [""]
                    },
                    {//下方表格的竖线  第一条线
                        position: "bottom", // 将分组x轴位置定至底部,不然默认在顶部
                        offset: 0, // 向下偏移,使分组文字显示位置不与原x轴重叠
                        axisTick: {
                            length: -160, // 延长刻度线做分组线
                            inside: true, // 使刻度线相对轴线在上面与原x轴相接,默认在轴线下方
                            lineStyle: {
                                color: "#999"
                            } // 非必须,仅为了演示,明显标示出分组刻度线
                        },
                        max: 1,
                        data: [""]
                    },
                    {
                        position: "bottom", // 将分组x轴位置定至底部,不然默认在顶部
                        offset: 36, // 向下偏移,使分组文字显示位置不与原x轴重叠
                        max: 30,
                        axisTick: {
                          alignWithLabel: true,
                        },
                    },
                    {
                        position: "bottom", // 将分组x轴位置定至底部,不然默认在顶部
                        offset: 75, // 向下偏移,使分组文字显示位置不与原x轴重叠
                        max: maxDate,
                        interval: 1,
                        axisTick: {
                            length: 0, // 延长刻度线做分组线
                            inside: true, // 使刻度线相对轴线在上面与原x轴相接,默认在轴线下方
                        },
                        axisLabel: {
                            inside: true, // 使刻度名称相对轴线在上面与原x轴相接,默认在轴线下方
                            interval: 0 // 强制显示全部刻度名
                        },
                        data: newData
                    },
                    {
                        position: "bottom", // 将分组x轴位置定至底部,不然默认在顶部
                        offset: 120, // 向下偏移,使分组文字显示位置不与原x轴重叠
                        max: maxDate,
                        interval: Math.ceil(12) / 12,
                        axisTick: {
                            length: 0, // 延长刻度线做分组线
                            inside: true, // 使刻度线相对轴线在上面与原x轴相接,默认在轴线下方
                        },
                        axisLabel: {
                            inside: true, // 使刻度名称相对轴线在上面与原x轴相接,默认在轴线下方
                            interval: 0 // 强制显示全部刻度名
                        },
                        data: cancelData
                    },
                    {
                        position: "bottom", // 将分组x轴位置定至底部,不然默认在顶部
                        offset: 160, // 向下偏移,使分组文字显示位置不与原x轴重叠
                        max: maxDate,
                        interval: 0,
                        axisTick: {
                            length: 0, // 延长刻度线做分组线
                            inside: true, // 使刻度线相对轴线在上面与原x轴相接,默认在轴线下方
                            lineStyle: {
                                color: "#f00"
                            } // 非必须,仅为了演示,明显标示出分组刻度线
                        },
                        axisLabel: {
                            inside: true, // 使刻度名称相对轴线在上面与原x轴相接,默认在轴线下方
                            interval: 0 // 强制显示全部刻度名
                        },
                        data: addData
                    },
                ],
                yAxis: [{
                        type: "value",
                        axisLabel: {
                            formatter: "{value}",
                            textStyle: {
                                fontSize: "14px"
                            }
                        },
                        axisLine: {
                            show:false,
                        },
                        axisTick:{
                            show: false
                        },
                    },
                    {
                        show:false,
                    }
                ],
                series: [{
                        name: "新关注人数",
                        type: "bar",
                        data: newData,
                        itemStyle: {
                            color: colors[0]
                        }
                    },
                    {
                        name: "取消关注人数",
                        type: "bar",
                        data: cancelData,
                        itemStyle: {
                            color: colors[1]
                        }
                    },
                    {
                        name: "净增关注人数",
                        type: "line",
                        data: addData,
                        itemStyle: {
                            color: colors[2]
                        },
                        lineStyle: {
                            width: 2
                        }
                    },
                ]
            };
            myCharte.setOption(option);
        </script>
    </body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

echarts 折柱表混合图(折线,柱状图,表格) 的相关文章

  • 使用canvas.toDataURL时如何设置crossOrigin属性?

    因此 我尝试为我正在构建的 OpenLayers 3 应用程序创建打印地图函数 我知道他们example http openlayers org en v3 8 2 examples export map html但每当我尝试使用它时 我都
  • 填充重叠的圆形区域

    我有两个相交的圆 我想让相交区域具有颜色 即使这两个圆是透明的 我想我可以找到一些方法用 css 来做到这一点mix blend mode财产 但我没有成功 当然 我可以使圆圈具有颜色并降低其不透明度 但我希望它们是白色或透明的 其中只有重
  • 使用普通的旧 JS 动态渲染 DOM 元素的好方法是什么?

    我面临的挑战是使用普通的旧 Javascript 构建一个单页应用程序 不允许使用任何库或框架 虽然在 React 和 Angular 中创建动态 DOM 元素相当简单 但我提出的普通 JS 解决方案似乎很笨重 我想知道是否有一种特别更简洁
  • HTMLPanel 中的 JavaScript

    我想在 HTMLPanel 元素中包含 Javascript 代码 但它不起作用 请你帮助我好吗 提前致谢 脚本 pro js alert hello 使用 HTMLPANEL 不起作用 不显示警报 我认为应该是相反的 HTMLPanel
  • 在 sinon.js 中存根和/或模拟类?

    我已经为我的应用程序创建了一个数据库包装器 如下所示 为了测试它 我显然想替换实际的数据库 我可以创建一个新类来模拟query方法并捕获那里的所有输入 但是使用sinon js看起来更合适 但是我该如何使用它呢 Is the mock or
  • 如何向 DOM 添加支持 Angular 的元素?

    我想以编程方式添加一些支持 Angular 的 DOM 元素 实际上 我可能需要添加自定义组件 我该怎么做 这是一个简单的小提琴来演示这个问题 http jsfiddle net ZJSz4 2 http jsfiddle net ZJSz
  • IE9:奇怪的 JavaScript 错误

    我尝试在网站中显示 Google DFP 广告横幅时遇到错误 这些广告在除 IE9 之外的所有浏览器中展示 您可以在此处查看带有横幅的简单测试页面 离线演示 错误是 抛出异常但未捕获 google ads js 第 34 行字符 474 I
  • Javascript:一般访问函数参数

    这是我所拥有的 var log function arg1 arg2 console log inside arg1 arg2 var wrap function fn return function args console log be
  • 添加/更改 URL 参数并重定向到新 URL

    If the view allURL 中不存在参数 我需要将其与值一起添加到 URL 的末尾 如果它确实存在 那么我需要能够仅更改该值而不创建新的 URL 因为它之前可能有也可能没有其他参数 我找到了这个功能 但我无法让它工作 https
  • Backbone.js 和本地存储。必须指定“url”属性或函数

    我正在提高有关 Backbone js 的知识 并从教程中获取了此代码示例 http bardevblog wordpress com 2012 01 16 understanding backbone js simple example
  • Jquery 选择器中的冒号

    我最近将 jquery 从 1 4 更新到 2 1 并开始出现错误 在我的代码中 我有一部分通过 id 选择元素 jQuery id name 这会产生一个错误 但是之前没有错误 1 4 如果我转义冒号 错误就会消失 他们在最新版本中添加了
  • AngularJS:如何缓存从 $http 调用返回的 json 数据?

    如何缓存从 http 调用返回的 json 数据 我使用以下风格的 http 调用 http url SomeWebMethodUrl method POST data query somevalue headers Content Typ
  • 创建一个通用函数以将其用于其他数据

    我正在制作一个项目列表 并希望随着数量变化计算其值 但如何使该函数通用以便我可以将它用于所有行 你能建议一些最好和简单的方法 但请记住我想这样做仅限 JavaScript table thead tr th Name th th Quant
  • 如何在 html5 中加载部分 html? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问我们的问题推荐或查找工具 库或最喜欢的场外资源与 Stack Overflow 无关 因为它们往往会吸引固执己见的答案和垃圾邮件 反而
  • Google Calendar API:获取指定日期的空闲时段列表

    我需要获取我的谷歌日历中的免费时段列表 现在我只是获取事件列表 我在用谷歌日历 https www npmjs com package google calendar npm google calendar events list calO
  • 静态资源和非静态资源有什么区别?

    我主要是一名前端开发人员 设计师 但最近我一直在探索端到端解决方案 昨天 我使用平均堆栈完成了一个 TODO 应用程序 并想开始探索我的 VPS 的部署选项 话虽这么说 有人建议我使用 nginx 作为反向代理来提供静态资源 不幸的是 我陷
  • codemirror - 在编辑器内检测并创建链接

    我正在使用 codemirror 配置为显示 javascript 我有这样的代码 var ref http www example com test html var ref2 http www example com test2 htm
  • 使用与 eval 相反的括号表示法

    我有以下内容 var module function console log module ran var someString module string TypeError object is not a function eval s
  • Google Maps JavaScript API v3 方向功能

    我使用 Google Maps js API v3 我可以根据路径点显示方向this http code google com intl hu apis maps documentation directions Waypoints 我想要
  • 访问 django for 循环中的元素

    我有一个 Django 模板 其中包含以下代码 该模板创建多个按钮并尝试通过单击 在同一按钮上 删除 隐藏其中一个按钮 for h in helicopters div class btn group div

随机推荐

  • iOS 启动页多语言

    iOS 启动页多语言 个人网站 Colin s Nest 转载请注明出处 iOS开发交流群 184226705 欢迎加入 启动页适配多语言 想必很多 App 都有类似的需求 但是之前尝试过程中 发现 多语言 的那几种实现方式 在欢迎页上都不
  • 若依框架使用ruoyi框架使用Mybatis plus的page分页无法生效

    89 若依框架使用ruoyi框架使用Mybatis plus的page分页无法生效 原因是因为若依自身使用的是mybatis的分页 与mybatis plus产生冲突 尝试了很多方法 page page queryWrapper 分页都不起
  • vue生命周期详解 beforeCreate  beforeMount activated

    Vue实例是一个完整的生命周期 即从开始创建 初始化数据 编译模板 挂载DOM 渲染更新 渲染卸载的过程 成为生命周期 创建 beforeCreate created 添加 beforeMount mounted 在这里进行数据请求 更新
  • ubuntu上部署etherpad(生产环境)

    Nginx To put EL behind reverse proxy in this case Nginx you will need an virtualhost that looks something like this serv
  • 卷积神经网络CNN

    近来在了解深度学习 深度神经网络的一大特点就是含有多隐含层 卷积神经网络 CNN 算是深度神经网的前身了 在手写数字识别上在90年代初就已经达到了商用的程度 本文中将简要介绍CNN 由于相应的博文资料已经很多 也写的很好 本篇最有价值的是参
  • springboot yml文件语法 回顾

    Yml 语法 对象 Student Name zhangsan Age 20 Student name 张三 age 250 多个对象 students name zhangsan age 18 name lisi age 19 name
  • python if elif 详解

    分支语句 if elif else 一 if else 语句格式 if 条件语句1 若条件语句1 为True 则执行下面的执行语句 执行完毕后跳出该分支结构 执行语句1 elif 条件语句2 若条件语句1 为False 则判断条件语句2 若
  • 微分方程之二阶齐次与非齐次

    微分方程解的结构 微分方程求解一定要对号入座 先搞清楚方程的类型 再选择相应地方法去解 补充线性相关与无关概念 二阶齐次线性方程解的结构 二阶非齐次线性方程解的结构 也就是说 非齐次通解 齐次的通解 非齐次的特解 以上定理都可推广到n阶线性
  • 【Java】让我们对多态有深入的了解(九)

    目录 1 接口的基本介绍 编辑 2 接口的注意事项和细节 1 接口不能被实例化 2 接口中所有方法是public方法 接口中的抽象方法 可以不用abstract修饰 3 一个普通类实现接口 必须将接口所有的抽象方法都实现 4 抽象类实现接口
  • 国内外镜像下载合集(详细最终版)

    当下分享使用最多的镜像下载资源网站 Python 来自国内 华为 蟒蛇本地索引 huaweicloud com MySQL 来自中国科技技术大学 Index of mysql ftp Downloads ustc edu cn Java 来
  • Python连接多种数据库的方式

    本次主要介绍3种数据库 MySQL PostgreSQL oracle 如何用Python连接 一 MySQL MySQL这里介绍三种Python的库来连接 分别是sqlalchemy MySQLdb PyMySQL 1 sqlalchem
  • js中var用与不用的区别

    Javascript声明变量的时候 虽然用var关键字声明和不用关键字声明 很多时候运行并没有问题 但是这两种方式还是有区别的 可以正常运行的代码并不代表是合适的代码 var num 1 是在当前域中声明变量 如果在方法中声明 则为局部变量
  • 【微服务&云原生】用实际案例探究Hystrix 断路器执行流程

    博客首页 派 大 星 欢迎关注 点赞 收藏 留言 本文由派大星原创编撰 系列专栏 微服务 云原生 本系列记录容器化技术的初次探险与深入思考历程 如有描述有误的地方还望诸佬不吝赐教 目录 Hystrix断路器 概述 Hystrix重要概念 H
  • 计算机组成原理知识点(第七章: 指令系统)

    第七章 指令系统 1 概念 人们习惯把每一条机器语言称为机器指令 而又将全部机器指令的集合称为机器的指令系统 2 指令的一般格式 操作码 指令是由操作码和地址码两部分构成的 操作码说明所要完成的功能 地址码说明了要在哪里完成这个操作 操作码
  • linux下访问windows共享文件夹的方法

    1 windows下创建需要共享的目录ShareFolder 或者选择已存在的目录 右键属性 gt 共享 指定某个有密码的用户 比如user 2 在linux的用户目录下创建接收共享的文件夹FromShareFolder 2 把 载入共享
  • 用正则表达式把列里面的数字提取出来

    示例如下 用正则表达式 regexp replace id digit 来实现 SQL gt select from test ID 123ad45 12 345 12 345 12 345 12 345 SQL gt select reg
  • 当上项目经理才知道!Android快速转战Kotlin教程,年薪50W

    前段时间有人问我 你是怎么成为一名软件架构师的 我们就此探讨了必备技能 经验 以及储备相关知识所需的时间和精力 除此之外 我也回顾了自己走过的路 使用或尝试过的技术 以及我从那些五花八门的工作中学到的东西 作为安卓开发者 除了Bug 经常会
  • 图像分割——重点(基于SVM的图像分割)

    图像分割 所谓图像分割是指根据灰度 彩色 空间纹理 几何形状等特征把图像划分成若干个互不相交的区域 使得这些特征在同一区域内表现出一致性或相似性 而在不同区域间表现出明显的不同 简单的说就是在一副图像中 把目标从背景中分离出来 一般来说 用
  • 【cmake学习】set_target_properties 常见属性以及获取target 属性

    set target properties 的作用是设置目标的属性 可以是目标文件输出的名称或者目录 目标文件的版本号 与之对应的 我们可以使用 get target properties 来获取目标文件某一属性对应的值 命令格式如下 se
  • echarts 折柱表混合图(折线,柱状图,表格)

    效果图如下 代码如下 div class chart div style width 100 height 400px div div