echarts 多个3D柱状图

2024-09-06 17:52
文章标签 3d 多个 echarts 柱状图

本文主要是介绍echarts 多个3D柱状图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片样式:

在这里插入图片描述
在这里插入图片描述

代码实现:


<template><div :class="className" :style="{height:height,width:width}" />
</template><script>
require("echarts/theme/sakura"); // echarts themeexport default {props: {className: {type: String,default: "chart",},width: {type: String,default: "100%",},height: {type: String,default: "100%",},},components: {},data() {return {chart: null,};},watch: {},created() {},mounted() {this.initChart();},computed: {},methods: {initChart() {//组织数据let setData = function (data, constData, showData) {data.filter(function (item) {if (item) {constData.push(1);showData.push(item);} else {constData.push(0);showData.push({value: 1,itemStyle: {normal: {borderColor: "rgba(0,0,0,0)",borderWidth: 2,color: "rgba(0,0,0,0)",},},});}});};//组织颜色let setColor = function (colorArr) {let color = {type: "linear",x: 0,x2: 1,y: 0,y2: 0,/* 此处决定阴暗面 若为横向柱状图则x,y轴调换x: 0,x2: 0,y: 0,y2: 1, */colorStops: [{offset: 0,color: colorArr[0],},{offset: 0.5,color: colorArr[0],},{offset: 0.5,color: colorArr[1],},{offset: 1,color: colorArr[1],},],};return color;};var vehicle = [20, 49, 70, 232, 256];var controlBall = [2.6, 5.9, 9.0, 20.4, 21.7];var barWidth = 30;var constData1 = [];var showData1 = [];var constData2 = [];var showData2 = [];setData(vehicle, constData1, showData1);setData(controlBall, constData2, showData2);var colorArr1 = ["#345A8B", "#387ABD", "#51C0DB"];var colorArr2 = ["#51C0DB", "#42D9D6", "#45F5F1"];var color1 = setColor(colorArr1);var color2 = setColor(colorArr2);this.chart = this.$echarts.init(this.$el, "sakura");this.chart.setOption({title: {x: "center",y: 4,text: "AAAA",textStyle: {color: "#fff",fontSize: "15",fontFamily: "微软雅黑",fontWeight: "bold",},},tooltip: {trigger: "axis",backgroundColor: "rgba(255,255,255,0.7)",textStyle: {color: "#000", // 自定义文字颜色fontSize: 16, // 自定义文字大小},},grid: {y: 80,y2: 40,x: 40,x2: 50,},legend: {data: ["数量", "时间(天)"],x: "center",top: "10%",itemWidth: 20,itemHeight: 9,textStyle: {fontSize: 11,color: "#fff",},},toolbox: {show: false,feature: {mark: { show: true },dataView: { show: true, readOnly: false },magicType: { show: true, type: ["line", "bar"] },restore: { show: true },saveAsImage: { show: true },},},calculable: true,xAxis: [{type: "category",data: ["曲靖", "玉溪", "大理", "昆明", "瑞丽"],boundaryGap: true, //控制x轴的数值是否顶头,默认为true留空,false则顶头axisLine: {//x轴的样式控制show: true, //显示与否lineStyle: {//线条样式// color: "#fff",width: 1,// type: "solid",},},axisLabel: {//控制x轴上的文字的样式show: true, //显示与否textStyle: { color: "#fff", fontSize: 12 }, //控制x轴字体样式//   formatter: "{value} °C", //轴上的数据带单位interval: 0,},},],yAxis: [{type: "value",axisLabel: {//控制y轴上的文字的样式show: true, //显示与否textStyle: { color: "#fff", fontSize: 9 }, //控制x轴字体样式// margin: 5,},splitLine: {lineStyle: {// 使用深浅的间隔色color: "#22376d",},},},],series: [{z: 1,type: "bar",name: "数量",barGap: "15%", //相邻柱子间距itemStyle: {borderRadius: [0, 0, 0, 0], //柱子四周圆角color: color1, //柱子左右颜色(深,浅)},label: {show: true,position: "top",textStyle:{color:"#fff"}},data: vehicle,},// ---------------------------------------------{z: 2,name: "数量",type: "pictorialBar",data: constData1, //此数据对应底部组件symbol: "diamond", //底部组件形状,不写默认为椭圆symbolOffset: ["-58%", "50%"], //与柱子的偏移角度symbolSize: [21, 10], //底面[宽,高]itemStyle: {normal: {color: color1, //底面左右颜色(深,浅)},},tooltip: {show: false,},},{z: 3,name: "数量",type: "pictorialBar",symbolPosition: "end",data: showData1, //此数据对应顶部组件symbol: "diamond",symbolOffset: ["-50%", "-47%"],symbolSize: [barWidth - 7, (10 * (barWidth - 7)) / barWidth],itemStyle: {normal: {/* borderColor: colorArr1[2],borderWidth: 2, */ //加上棱角分明color: colorArr1[2],},},tooltip: {show: false,},},{z: 1,type: "bar",name: "时间(天)",itemStyle: {borderRadius: [0, 0, 0, 0],color: color2,},data: controlBall,},{z: 2,name: "时间(天)",type: "pictorialBar",data: constData2,symbol: "diamond",symbolOffset: ["50%", "40%"],symbolSize: [25, 10],itemStyle: {normal: {color: color2,},},tooltip: {show: false,},},{z: 3,name: "时间(天)",type: "pictorialBar",symbolPosition: "end",data: showData2,symbol: "diamond",symbolOffset: ["55%", "-50%"],symbolSize: [barWidth - 7, (10 * (barWidth - 7)) / barWidth],itemStyle: {normal: {/* 	borderColor: colorArr2[2],borderWidth: 2, */color: colorArr2[2],},},tooltip: {show: false,},},],});},},
};
</script>
<style lang='scss' scoped>
</style>

这篇关于echarts 多个3D柱状图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142710

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

struts2中的json返回指定的多个参数

要返回指定的多个参数,就必须在struts.xml中的配置如下: <action name="goodsType_*" class="goodsTypeAction" method="{1}"> <!-- 查询商品类别信息==分页 --> <result type="json" name="goodsType_findPgae"> <!--在这一行进行指定,其中lis是一个List集合,但

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

C# 如何同时Ping多个IP地址

在C#中,如果需要同时ping多个IP地址,可以采用多线程或异步编程的方式来实现,以便可以同时进行多个ping操作。以下是两种常用的方法: 方法一:使用多线程(Task 或 Thread) 使用Task是更现代和推荐的方式,因为它内置了更好的线程管理和异常处理机制。以下是一个使用Task的示例,展示如何同时ping多个IP地址: using System; using System.Co

多个vue项目部署到nginx服务器

文章目录 需求一、项目打包1.vue.config.js2.request.js文件3.打包 二、nginx配置 需求 同一个域名安装多个vue项目。 比如:域名为 https://domain.com + 后缀。那么通过不同的后缀就能去访问不同的项目地址。 https://domain.com,不加任何后缀,访问官网。 https://domain.com/admin

在幼儿园管理系统中,会议管理申请会议修改模块:多个与会人员的回显和修改(编辑)!

在幼儿园管理系统中,会议管理>申请会议>修改模块:多个与会人员的回显(复选框)和修改(编辑)!在处理与会人员的回显(复选框)和修改(编辑)出点问题。无法正确的回显(复选框)出来与会人员和修改(编辑)。 最后终于解决:修改(编辑)的思路是:先把原来的该会议记录下的所有与会人员删除,在添加,即可实现修改(编辑)功能。回显(复选框)的思路是:设置一个flag,判断一下是否要选中(复选框),即可实现