【记录45】【案例】echarts 柱状图3D效果

news2025/1/22 20:58:26

环境

echarts@4.1.0
在这里插入图片描述

<template>
<!-- 商场各楼层统计 -->
    <div id="threethree"></div>
</template>

<script>
import * as echarts from "echarts"
export default {
    name:"",
    components:{},
    data(){
        return {

        }
    },
    methods:{
        getdata(){
            var myCharts = echarts.init(document.getElementById('threethree'))
            // mock 数据
            const dataArr = {
                xdata: ['商场一楼', '商场二楼', '商场三年楼', '商场四楼', '商场五楼', '商场负一楼',],
                result: [
                    { name: 'Ⅰ级', data: [0, 0, 0, 0, 0, 0, ] },
                    { name: 'Ⅱ级', data: [1, 0, 1, 0, 1, 0, ] },
                    { name: 'Ⅲ级', data: [1, 4, 0, 1, 0, 2, ] },
                    // { name: 'Ⅳ级', data: [5, 3, 6, 4, 2, 1, 4, 4, 10] },
                ]
            }
            // 头部菱形
            const diamondData = dataArr.result.reduce((pre, cur, index) => {
                pre[index] = cur.data.map((el, id) => el + ( pre[index - 1] ? pre[index - 1][id] : 0))
                return pre
            }, [])

            // color
            const color = [
                [{ offset: 0, color: "#dc0707", }, { offset: 0.5, color: "#dc0707", }, { offset: 0.5, color: "#af0808", }, { offset: 1, color: "#af0808", }],
                [{ offset: 0, color: "#f67c20", }, { offset: 0.5, color: "#f67c20", }, { offset: 0.5, color: "#cc681e", }, { offset: 1, color: "#cc681e", }],
                [{ offset: 0, color: "#efff37", }, { offset: 0.5, color: "#efff37", }, { offset: 0.5, color: "#d5e700", }, { offset: 1, color: "#d5e700", }],
                [{ offset: 0, color: "#6495ED", }, { offset: 0.5, color: "#6495ED", }, { offset: 0.5, color: "#6495ED", }, { offset: 1, color: "#4169E1", }],
                [{ offset: 0, color: "#46c9ff", }, { offset: 0.5, color: "#46c9ff", }, { offset: 0.5, color: "#00b4ff", }, { offset: 1, color: "#00b4ff", }],
                [{ offset: 0, color: "#54a0ff", }, { offset: 0.5, color: "#54a0ff", }, { offset: 0.5, color: "#1f83ff", }, { offset: 1, color: "#1f83ff", }],
            ]

            // series
            let series = dataArr.result.reduce((p, c, i, array) => {
                p.push({
                    z: i + 1,
                    stack: '总量',
                    type: 'bar',
                    name: c.name,
                    barGap: '-100%',
                    barWidth: 30,
                    data: c.data,
                    itemStyle:{ color: { type: 'linear', x: 0, x2: 1, y: 0, y2: 0, colorStops: color[i] } },
                },{
                    z: i + 10,
                    type: 'pictorialBar',
                    symbolPosition: 'end',
                    symbol: 'diamond',
                    symbolOffset: [0, '-50%'],
                    symbolSize: [30, 10],
                    data: diamondData[i],
                    itemStyle: { color: { type: 'linear', x: 0, x2: 1, y: 0, y2: 0, colorStops: color[i] } },
                    tooltip: { show: false },
                })

                // 是否最后一个了?
                if (p.length  === (array.length) * 2) {
                    p.push({
                        z: array.length * 2,
                        type: "pictorialBar",
                        symbolPosition: "start",
                        data: dataArr.result[0].data,
                        symbol: "diamond",
                        symbolOffset: ["0%", "50%"],
                        symbolSize: [30, 10],
                        itemStyle: { color: { type: 'linear', x: 0, x2: 1, y: 0, y2: 0, colorStops: color[0]} },
                        tooltip: { show: false },
                    })
                    return p
                }

                return p
            }, [])

            // tooltip
            const tooltip = { trigger: "axis" }

            // legend
            const legend = {
                data: dataArr.result.map(item => item.name),
                textStyle: { fontSize: 14, color: '#fff'},
                itemWidth: 25,
                itemHeight: 15,
                itemGap: 15,
                top: '5%',
            }
            // grid
            const grid = { top: '18%', left: '10%', right: '3%', bottom: '20%'}

            // xAxis
            const xAxis = { 
                axisTick: { show: false },
                axisLine: { lineStyle: { color: 'rgba(255,255,255, .2)' } },
                axisLabel: { textStyle: { fontSize: 12, color: '#fff'  },interval:0,rotate:20, },
                data: dataArr.xdata
            }

            // yAxis
            const yAxis = [{ 
                splitLine: { lineStyle: { color: 'rgba(255,255,255, .05)' } },
                axisLine: { show: false, },
                axisLabel: { textStyle: { fontSize: 16, color: '#fff' } }
            }]

            const dataZoom = [{ // 缩放条
                    type: 'inside',
                    start: 10,
                    end: 90
                    }, {
                    start: 30,
                    end: 80
                }]

            // 渲染
            let option = { tooltip, xAxis, yAxis, series, grid, legend, dataZoom, backgroundColor:'' }
            myCharts.setOption(option)
        }
    },
    mounted(){
        this.getdata()
    }
}
</script>
<style>
    #threethree { width: 100%; height: 27vh; }
</style>

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

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

相关文章

老A营销训练营(更24年5月),轻理论,重实战,轻概念,重本质(97节课)

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89388249 更多资源下载&#xff1a;关注我。 课程介绍&#xff1a; 课程来自课程来自老A的营销陪跑训练营。只适合中小企业和初创企业的老板或营销、市场、品牌等部门负责人及从业人员。不推荐没有营销…

深入JVM:线上服务性能问题诊断思路

文章目录 深入JVM&#xff1a;线上服务性能问题诊断思路一、序言二、常见线上性能问题三、诊断CPU使用率过高1、检查CPU高使用率进程2、导出线程堆栈信息3、深入识别高使用率线程4、高使用率线程信息定位 四、诊断服务响应时间过长1、诊断GC及内存问题2、诊断慢查询2.1 Arthas线…

打开nginx连接的php页面报错502

目录 问题描述&#xff1a; 原因&#xff1a; 1. 使用 Unix 域套接字&#xff08;Unix Socket&#xff09; 区别和优势&#xff1a; 2. 使用 TCP/IP 套接字 区别和优势&#xff1a; 如何选择 扩展&#xff1a;Rocky_Linux9.4安装PHP的步骤&#xff1a; 使用Remi存储库…

小程序餐饮点餐系统,扫码下单点菜,消费端+配送端+收银端+理端

目录 前言&#xff1a; 一、小程序功能有哪些 前端&#xff1a; 管理端&#xff1a; 二、实体店做小程序的好处 方便快捷的点餐和支付体验&#xff1a; 扩大店铺的曝光度和影响力&#xff1a; 优化顾客体验和服务质量&#xff1a; 降低成本和提高效率&#xff1a; 数据…

IDEA debug 调试Evaluate Expression应用

链接&#xff1a; https://blog.csdn.net/xfx_1994/article/details/104136849?utm_mediumdistribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_v2~rank_aggregation-2-104136849.pc_agg_rank_aggregation&utm_termidea%E4%B8%ADevaluate&s…

生产看板管理系统内容有哪些?

相信很多做生产管理的朋友都会遇到如下问题&#xff0c;我就在想&#xff0c;是否能一个创建“透明的”的工作场所&#xff1f;让员工和管理者能够实时查询生产进度&#xff0c;及时发现生产中的问题。 生产进度难追踪 生产过程不透明 生产决策缺乏数据支持 ——能&#xf…

Harbor本地仓库搭建002_Harbor负载均衡节点搭建_nginx安装配置_harbor安装---分布式云原生部署架构搭建002

负载均衡的机器. 可以看到上面是安装nginx的过程 首先去编辑一下yum仓库地址,配置一下nginx的仓库地址 然后这个是配置的内容 然后在进行安装之前最好yum makecache fast 更新一下缓存,这样安装的时候 会安装最新的包 然后就可以安装nginx yum -y install nginx 然后去

vue3+ts+vite集成eslint

项目中安装eslint yarn add eslint -Deslint初始化 npx eslint --init按照下方操作即可 安装typescript-eslint/parser yarn add typescript-eslint/parser -D安装vite-plugin-eslint2 yarn add vite-plugin-eslint2 -D配置vite-plugin-eslint2 // vite.config.ts import …

汇编基础之使用vscode写hello world

汇编语言&#xff08;Assembly Language&#xff09; 概述 汇编语言&#xff08;Assembly Language&#xff09;是一种低级编程语言&#xff0c;它直接对应于计算机的机器代码&#xff08;machine code&#xff09;&#xff0c;但使用了更易读的文本符号。每台个人计算机都有…

【UG\NX二次开发】UF 调用Grip例子(实现Grip调用目标dll)(UF_call_grip)

此例子是对&#xff1a;【UG\NX二次开发】UF 加载调用与卸载目标dll(UF_load_library、UF_unload_library)_ug二次开发dll自动加载-CSDN博客的补充。 ①创建txt文本&#xff0c;编写以下内容(功能&#xff1a;接收路径&#xff0c;调用该路径的dll)。改后缀为Grip文件(.grs)。…

uniapp顶部导航栏实现自定义功能按钮+搜索框并监听响应事件

目录 第一步&#xff1a;先下载按钮需要展示的图标&#xff08;若不使用图标&#xff0c;直接使用文字可跳过这步&#xff09; 1、点击需要的图标&#xff0c;添加入库 2、点击旁边的购物车&#xff0c;在弹出的窗口中选择下载代码 3、解压下载的压缩包&#xff0c;将这几个…

第J7周:对于ResNeXt-50算法的思考

本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 &#x1f680; 文章来源&#xff1a;K同学的学习圈子深度学习第J6周&#xff1a;ResNeXt-50实战解析K同学的学习圈子 在 ResNeXt 网络中&#xff0c;如果…

旅游管理平台系统

摘要 如今许多地区的风景已经随着网络技术的不断发展和进步而映入人们的眼帘&#xff0c;旅游已经成为一种大众化的休闲方式。而青海海西州风光旖旎&#xff0c;民族文化独特&#xff0c;更是吸引了众多游客纷至沓来。海西州地域广阔、人烟稀少、是一个经济发展缓慢的地方&…

代码随想录第27天|回溯算法

93.复原IP地址 补充: 字符串的操作 str.insert() 发生重载 str.insert(str.begin(), ‘x’) 只能是插入char类型 insert(const const_iterator _Where, const _Elem _Ch) str.insert(0, “x”) 只能是 string类型 insert(const size_type _Off, In_z const _Elem* const _Ptr) …

c++之说_15|成员函数的const尾缀修饰 ( const const)

我记得我刚接触c的时候 遇到成员函数 右边尾部 写了个const 我当时就很蒙 不过慢慢的也从大佬口中获得一二经验了 class kj{public:void get(){printf("无修饰\n");}void get()const{printf("const 修饰\n");}}; 大概就是这个样子 当时我抓耳挠腮的看…

pytorch--Pooling layers

文章目录 1.torch.nn.MaxPool1d()2.torch.nn.MaxPool2d3.torch.nn.AvgPool2d()4.torch.nn.FractionalMaxPool2d()5.torch.nn.AdaptiveMaxPool2d()6.torch.nn.AdaptiveAvgPool2d() 1.torch.nn.MaxPool1d() torch.nn.MaxPool1d() 是 PyTorch 库中的一个类&#xff0c;用于在神经网…

服务器硬件知识

服务器硬件基础知识 简介 原理详解 服务器硬件的工作原理是将来自客户端的请求处理并返回结果。服务器硬件是指用于构建服务器系统的物理组件。它包括处理器&#xff08;CPU&#xff09;、内存&#xff08;RAM&#xff09;、存储设备&#xff08;硬盘或固态硬盘&#xff09;…

uniapp使用md5加密

目录 一、安装md5 二、在main.js中全局引入并挂载到vue实例中 三、使用md5加密 一、安装md5 在终端输入 npm install js-md5 -D 二、在main.js中全局引入并挂载到vue实例中 import Md5 from js-md5 Vue.prototype.$md5 Md5 三、使用md5加密 let password_md5 this.$md…

任务3.8.3 利用RDD统计每日新增用户

任务目标 统计给定用户访问历史数据中&#xff0c;每日的新增用户数量。 数据准备 原始数据格式&#xff1a;每行包含两个字段&#xff0c;日期和用户名&#xff0c;以逗号分隔。示例数据&#xff1a;2024-05-01,mike 2024-05-01,alice 2024-05-01,brown ...解决方案 使用倒…

【HTML01】HTML基础-基本元素-附带案例-作业

文章目录 HTML 概述学HTML到底学什么HTML的基本结构HTML的注释的作用html的语法HTML的常用标签&#xff1a;相关单词参考资料 HTML 概述 英文全称&#xff1a;Hyper Text Markup Language 中文&#xff1a;超文本标记语言&#xff0c;就将常用的50多个标记嵌入在纯文本中&…