echarts实现正负轴柱状图

news2024/12/23 22:11:30

效果: 

 data变量配置:

     // 正负柱状图
            zhengfuZhu: {},
            data1: [],
            data2: [],
            data3: [],
            data4: [],
            xAxisData1: [],//横轴刻度
            seriesLabel: { //柱子上的字体
                show: false,
                position: 'outside',
                color: '#BEC3EB',
            },
            seriesEmphasis: { //
                itemStyle: {
                    shadowBlur: 20,
                    shadowColor: 'rgba(0,0,0,0.3)'
                }
            },
            seriesBarWidth: 17,//设置柱子粗细
            seriesYears: ['2022', '2023'],
            seriesColors: ['#4A86DE', '#ECE058', '#23C16D', '#F4AB67'], // 设置柱子颜色

html:

<div class="byn_box">
     <div id="lineEcharts" style="width:400px;height:300px"></div>
</div>

methods:

drawLine(){
        this.zhengfuZhu = {
                legend: {
                    data: [`${this.seriesYears[0]}计划完成任务`, `${this.seriesYears[0]}实际完成任务`,
                    `${this.seriesYears[1]}计划完成任务`, `${this.seriesYears[1]}实际完成任务`],
                    right: '10%',
                    icon: 'circle',
                    textStyle: {
                        color: ' #BEC3EB',
                        fontSize: 13
                    },
                    itemWidth: 12, // 设置宽度
                    itemHeight: 12, // 设置高度
                    itemGap: 15,
                    formatter: function (value) {
                        return value
                    },
                },
                tooltip: {
                    formatter: function (params) {
                        var value = params.value;
                        //首先要看看params是怎样的数据结构,里面有什么内容;
                        if (value < 0) {
                            value = -value
                        }
                        return params.seriesName + ':' + value + ''
                    }
                },
                xAxis: {
                    data: this.xAxisData1,
                    splitArea: { show: false },
                    axisLabel: {
                        textStyle: {
                            color: '#BEC3EB',
                            fontSize: 13
                        },

                    },
                },
                yAxis: [
                    {
                        type: 'value',
                        splitNumber: 10,
                        splitLine: {
                            show: true, lineStyle: {
                                color: '#6469A1',
                                width: 1,
                                type: 'solid'
                            }
                        },
                        axisLabel: {
                            formatter: function (value) {
                                // Function formatter
                                if (value < 0) {
                                    value = -value
                                } else {
                                    value = value
                                }
                                return value + ''
                            },
                            textStyle: {
                                color: ' #BEC3EB',
                                fontSize: 13
                            },
                        },
                    }],
                grid: {
                    bottom: 25,
                    top: 35,
                    right: 0
                },
                series: [
                    {
                        name: `${this.seriesYears[0]}计划完成任务`,
                        type: 'bar',
                        stack: 'one',
                        label: this.seriesLabel,
                        emphasis: this.seriesEmphasis,
                        data: this.data1,
                        barWidth: this.seriesBarWidth,
                        itemStyle: {
                            // 柱状图颜色
                            color: this.seriesColors[0]
                        }
                    },
                    {
                        name: `${this.seriesYears[0]}实际完成任务`,
                        type: 'bar',
                        label: this.seriesLabel,
                        stack: 'two',
                        emphasis: this.seriesEmphasis,
                        barWidth: this.seriesBarWidth,
                        data: this.data3,
                        itemStyle: {
                            // 柱状图颜色
                            color: this.seriesColors[1]
                        }
                    },
                    {
                        name: `${this.seriesYears[1]}实际完成任务`,
                        type: 'bar',
                        label: this.seriesLabel,
                        stack: 'one',
                        emphasis: this.seriesEmphasis,
                        data: this.data2,
                        barWidth: this.seriesBarWidth,
                        itemStyle: {
                            // 柱状图颜色
                            color: this.seriesColors[2]
                        }
                    },
                    {
                        name: `${this.seriesYears[1]}计划完成任务`,
                        type: 'bar',
                        label: this.seriesLabel,
                        stack: 'two',
                        emphasis: this.seriesEmphasis,
                        barWidth: this.seriesBarWidth,
                        data: this.data4,
                        itemStyle: {
                            // 柱状图颜色
                            color: this.seriesColors[3]
                        }
                    },
                ],
            }

            var myChart2 = echarts.init(document.getElementById('lineEcharts'));
            myChart2.setOption(this.zhengfuZhu);
}

在mounted获取数据并调用:

 mounted() {
        for (let i = 0; i < 12; i++) {
            this.xAxisData1.push(i + 1 + "月");
            this.data1.push(+(Math.random() * 200).toFixed(2));
            this.data3.push(+(Math.random() * 500).toFixed(2));
            this.data2.push(-(Math.random() + 300).toFixed(2));
            this.data4.push(-(Math.random() + 100).toFixed(2));
        }
        this.drawLine();
}

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

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

相关文章

【福建事业单位-语言理解】01中心理解

【福建事业单位-语言理解】01中心理解 一、中心理解题&#xff1a;关键词1.1 转折关系词总结 1.2因果关系词总结 1.3必要条件关系对策&#xff08;只有才的变体题型&#xff09;反面论证&#xff08;如果等词汇错误做法不好的结果&#xff09;对策特殊脉络总结 1.4 并列结构总结…

怎么找小红书美食探店博主合作?

在小红书上有许多活跃的美食探店博主&#xff0c;他们通过分享自己的餐厅体验、特色美食以及口味评价&#xff0c;吸引了大量用户的关注。对于想要在小红书上进行美食推广的企业来说&#xff0c;与这些博主合作是一种非常直接的方式&#xff0c;接下来伯乐网络传媒来给大家分享…

【已解决】标签死活不响应单击事件

大家好&#xff0c;我是执念斩长河。今天在公司写代码的时候突然遇到一个问题&#xff0c;这个问题困扰了我不久&#xff0c;就是html中li标签不能响应我的单击事件。最后在仔细分析下&#xff0c;解决了这个问题。 文章目录 1、问题来源2、问题解决方案3、问题解决效果4、总结…

C语言假期作业 DAY 10

一、选择题 1、求函数返回值&#xff0c;传入 -1 &#xff0c;则在64位机器上函数返回&#xff08; &#xff09; int func(int x) { int count 0; while (x) { count; x x&(x - 1);//与运算 } r eturn count; } A: 死循环 B: 64 C: 32 D: 16 答案解析 正确答案&#xff…

Elasticsearch:如何将整个 Elasticsearch 索引导出到文件 - Python 8.x

在实际的使用中&#xff0c;我们有时希望把 Elasticsearch 的索引保存到 JSON 文件中。在之前&#xff0c;我写了一篇管如何备份 Elasticsearch 索引的文章 “Elasticsearch&#xff1a;索引备份及恢复”。在今天&#xff0c;我们使用一种 Python 的方法来做进一步的探讨。你可…

SpringBoot复习:(12)SpringApplicationRunListener和 SpringApplicationRunListeners

SpringApplicationRunListener接口定义如下&#xff1a; public interface SpringApplicationRunListener {default void starting() {}default void environmentPrepared(ConfigurableEnvironment environment) {}default void contextPrepared(ConfigurableApplicationConte…

2023年【零声教育】13代C/C++Linux服务器开发高级架构师课程体系分析

对于零声教育的C/CLinux服务器高级架构师的课程到2022目前已经迭代到13代了&#xff0c;像之前小编也总结过&#xff0c;但是课程每期都有做一定的更新&#xff0c;也是为了更好的完善课程跟上目前互联网大厂的岗位技术需求&#xff0c;之前课程里面也包含了一些小的分支&#…

【连通块染色,双指针维护区间map,整除分块】CF616 CDE

Dashboard - Educational Codeforces Round 5 - Codeforces C 题意&#xff1a; 思路&#xff1a; 经典的给格子染色&#xff0c;直接dfs染色就行&#xff0c;不要用并查集&#xff0c;虽然也能做但是不好写 然后对于每一个*&#xff0c;把周围的格子的颜色扔到set里去重统…

什么叫做阻塞队列的有界和无界

问题描述 什么叫做阻塞队列的有界和无界&#xff1a; 解决方案&#xff1a; 1. 阻塞队列&#xff08;如图&#xff09;&#xff0c;是一种特殊的队列&#xff0c;它在普通队列的基础上提供了两个附加功能 a. 当队列为空的时候&#xff0c;获取队列中元素的消费者线程会被阻塞…

ChinaJoy 2023微星雷鸟17游戏本震撼发布:搭载AMD锐龙9 7945HX首发8499元

ChinaJoy 2023展会中微星笔记本再次给大家带来惊喜&#xff0c;发布了搭载AMD移动端16大核的旗舰游戏本&#xff1a;雷鸟17&#xff0c;更重要的这样一款旗舰性能的游戏本&#xff0c;首发价8499元堪称当今游戏本市场中的“性价比爆款”&#xff01; 本着和玩家一同制霸游戏战场…

leetcode 712. Minimum ASCII Delete Sum for Two Strings(字符串删除字母的ASCII码之和)

两个字符串s1, s2, 删除其中的字母使s1和s2相等。 问删除字母的最小ASCII码之和是多少。 思路&#xff1a; DP 先考虑极端的情况&#xff0c;s1为空&#xff0c;那么要想达到s2和s1相等&#xff0c;就要把s2中的字母删完&#xff0c; ASCII码之和就是s2中所有字母的ASCII码之…

大型集团企业一体化运维监控方案

当前&#xff0c;云计算、大数据、人工智能等IT技术迅猛发展&#xff0c;企业的信息化步入了一个崭新的时代&#xff0c;企业规模不断壮大&#xff0c;业务不断拓展&#xff0c;企业信息化依赖的网络结构和IT技术越来越复杂。企业运维部门采用的运维工具和技术实力直接决定企业…

算法训练营第五十七天||647.回文子串、516.最长回文子序列、动态规划总结

647.回文子串 出自代码随想录 如果大家做了很多这种子序列相关的题目&#xff0c;在定义dp数组的时候 很自然就会想题目求什么&#xff0c;我们就如何定义dp数组。 绝大多数题目确实是这样&#xff0c;不过本题如果我们定义&#xff0c;dp[i] 为 下标i结尾的字符串有 dp[i]个…

Cordova+Vue2.0打包apk,保姆教程来袭!

1.环境准备&#xff08;全部都需要配置环境变量&#xff09; java version "1.8.0_341" 安卓sdk android-29 Gradle 4.10.1 node v16.16.0 cordova 10.0.0 (cordova-lib10.1.0)2.安卓环境变量 1. 确认已安装 Android SDK Build-Tools 和 Android SDK Platform-Tool…

Sentaurus TCAD-Sdevice CV (电容特性)

File {grid "nnode|NMOS_msh.tdr" ## 输入包含掺杂信息的网格文件current "plot" ## 输出包含时间、电压和电流的_des.plt曲线文件&#xff0c;简称current plotplot "tdrdat" ## 输出包含掺杂浓度、电流密度、电势分布、电场分布…

使用redis-cli操作redis

redis-cli是原生redis自带的命令行工具&#xff0c;可以帮助我们通过简单的命令连接redis服务&#xff0c;并进行数据管理&#xff0c;即redis键&#xff08;key&#xff09;和redis数据结构的管理。 关于如何进入redis-cli命令行客户端&#xff0c;请查看文章&#xff1a;Redi…

android 如何分析应用的内存(十四)——jdb命令行

android 如何分析应用的内存&#xff08;十四&#xff09; 前面的系列文章介绍了android应用如何分析native内存。 接下来就是android应用如何分析java内存。同native一样&#xff0c;我们也希望能够看到 ART的堆和栈的情况&#xff0c;以及锁的情况&#xff0c;方法的本地变…

ChatFile实现相关流程

文本上传构建向量库后台库的内容 调用上传文件接口先上传文件 存在疑问:暂时是把文件保存在tmp文件夹,定时清理,是否使用云存储 根据不同的文件类型选取不同的文件加载器加载文件内容 switch (file.mimetype) {case application/pdf:loader new PDFLoader(file.path)breakc…

爬虫教程1_Xpath 入门教程

Xpath 入门教程 在编写爬虫程序的过程中提取信息是非常重要的环节&#xff0c;但是有时使用正则表达式无法匹配到想要的信息&#xff0c;或者书写起来非常麻烦&#xff0c;此时就需要用另外一种数据解析方法&#xff0c;也就是本节要介绍的 Xpath 表达式。 Xpath表达式 XPath…

Linux(centos7)如何实现配置iscsi存储多路径 及DM-Multipath的配置文件概述

安装多路径软件&#xff08;系统默认安装&#xff09; #第一&#xff1a;安装多路径软件yum -y install device-mapper device-mapper-multipath#第二&#xff1a;在CentOS7中启用多路径模块&#xff0c;mpathconf命令及相关模块加载&#xff08;可以使用mpathconf -h查看用法&…