echartGL中option各3D配置属性配置详解

UE5 Grid3D 学习笔记 的模块,通过计算粒子与全局距离场(Global Distance Field)的交互力,实现粒子在运动过程中自动绕开静态网格体表面。Populate Neighbor Grid(填充邻域网格),通过输入Grid3D,粒子位置信息,本地空间的转换,来构建。:通过位置→网格索引→粒子索引的映射,避免全局遍历粒子,极大提升邻近粒子搜索效率(如查找最近粒子、属性传递)13。通常基于粒子到预测撞击点的距离以及粒子速度的大小进行调节(距离越近、速度越快,力越强)。:颜色传递、距离检测、动态碰撞等需粒子交互的场景。 阅读详情
AI摘要

本文详细介绍了如何使用ECharts实现3D柱状图,并深入探讨了grid3D配置项的各种属性及其作用,同时提供了丰富的示例代码帮助读者理解。

最近,接手一个项目需要实现echart中各种3D图表样式,我还是一如既往的从研究echart配置项中各属性含义开始入手,由于自己需要实现的是柱状图效果,类似地图3D 效果在这里不展示,直接进入自己所研究的内容

1、grid3D

希望上面的图片能够加深对grid3D各个属性的理解,本人直接采用echarts官网中的例子http://gallery.echartsjs.com/editor.html?c=xrJ5XyZ5px进行修改,只要把下面的option对应替换即可得到相应的效果,每个属性解释在下面option里面,这里就不解释

替换example里面的grid3D为下列代码

        grid3D: {
            show:true,//是否显示三维迪卡尔坐标
            boxWidth: 100,//三维场景高度
            // boxHeight:200,//三维场景高度
            boxDepth: 80,//三维笛卡尔坐标系组件在三维场景中的深度。
            axisLine:{//坐标轴轴线(线)控制
                show:true,//该参数需设为true
                // interval:200,//x,y坐标轴刻度标签的显示间隔,在类目轴中有效。
                lineStyle:{//坐标轴样式
                    color:'red',
                    opacity:1,//(单个刻度不会受影响)
                    width:2//线条宽度
                }
            },
            axisLabel:{
                show:true,//是否显示刻度  (刻度上的数字,或者类目)
                //   
                interval:5,//坐标轴刻度标签的显示间隔,在类目轴中有效。
                formatter:function(v){
                    // return;
                },

                textStyle:{
                    // color:'#000',//刻度标签样式,见图黑色刻度标签
                    color: function (value, index) {
                        return value >= 6? 'green' : 'red';//根据范围显示颜色,主页为值有效
                    },
                    //  borderWidth:"",//文字的描边宽度。
                    //  borderColor:'',//文字的描边颜色。
                    fontSize:14,//刻度标签字体大小
                    fontWeight:'',//粗细
                }
            },
            axisTick:{
                show:true,//是否显示出刻度
                // interval:100,//坐标轴刻度标签的显示间隔,在类目轴中有效
                length:5,//坐标轴刻度的长度
                lineStyle:{//举个例子,样式太丑将就
                    color:'#000',//颜色
                    opacity:1,
                    width:5//厚度(虽然为宽表现为高度),对应length*(宽)
                }
            },
            splitLine:{//平面上的分隔线。
                show:true,//立体网格线  
                // interval:100,//坐标轴刻度标签的显示间隔,在类目轴中有效
                splitArea:{
                    show:true,
                    // interval:100,//坐标轴刻度标签的显示间隔,在类目轴中有效
                    areaStyle:{
                        color:['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)','rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']
                    }
                },
            },
            axisPointer:{//坐标轴指示线。
                show:true,//鼠标在chart上的显示线
                // lineStyle:{
                //     color:'#000',//颜色
                //     opacity:1,
                //     width:5//厚度(虽然为宽表现为高度),对应length*(宽)
                // }
            },
            //整个chart背景,可为自定义颜色或图片
            //         environment: 'asset/starfield.jpg'
            // // 配置为纯黑色的背景
            // environment: '#000'
            environment: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                offset: 0, color: '#00aaff' // 天空颜色
            }, {
                offset: 0.7, color: '#998866' // 地面颜色
            }, {
                offset: 1, color: '#998866' // 地面颜色
            }], false),
            viewControl: {//viewControl用于鼠标的旋转,缩放等视角控制。(以下适合用于地球自转等)
                // projection: 'orthographic'//默认为透视投影'perspective',也支持设置为正交投影'orthographic'。
                // autoRotate:true,//会有自动旋转查看动画出现,可查看每个维度信息
                // autoRotateDirection:'ccw',//物体自传的方向。默认是 'cw' 也就是从上往下看是顺时针方向,也可以取 'ccw',既从上往下看为逆时针方向。
                // autoRotateSpeed:12,//物体自传的速度
                // autoRotateAfterStill:2,//在鼠标静止操作后恢复自动旋转的时间间隔。在开启 autoRotate 后有效。
                // distance:300,//默认视角距离主体的距离(常用)
                // alpha:1,//视角绕 x 轴,即上下旋转的角度(与beta一起控制视野成像效果)
                // beta:10,//视角绕 y 轴,即左右旋转的角度。
                // center:[]//视角中心点,旋转也会围绕这个中心点旋转,默认为[0,0,0]。
                // zlevel://组件所在的层。

                animation:true
            },
            light: {//光照相关的设置
                main: {
                    color:'#fff',//光照颜色会与所设置颜色发生混合
                    intensity:1.2,//主光源的强度(光的强度)
                    shadow: true,//主光源是否投射阴影。默认关闭。
                    // alpha:0//主光源绕 x 轴,即上下旋转的角度。配合 beta 控制光源的方向(跟beta结合可确定太阳位置)
                    // beta:10//主光源绕 y 轴,即左右旋转的角度。
                },
                ambient: {//全局的环境光设置。
                    intensity: 0.3,
                    color:'#fff'//影响柱条颜色
                },
                // ambientCubemap: {//会使用纹理作为光源的环境光
                //  texture: 'pisa.hdr',
                // // 解析 hdr 时使用的曝光值
                // exposure: 1.0
                // }
            },
            // postEffect:{//后处理特效的相关配置,后处理特效可以为画面添加高光,景深,环境光遮蔽(SSAO),调色等效果。可以让整个画面更富有质感。
            //     show:true,
            //     bloom:{
            //         enable:true//高光特效,适合地球仪
            //     }
            // }
            //调整位置(常用)
            top:0,//组件的视图离容器上侧的距离
            // right:10,
            //  bottom:0,
            //组件的视图宽度。
            // width:100,
            // height:200
        },

上面为grid3D各个属性及详细解释,效果图如下,为了显示各标签作用,图丑勿喷^_^


xAixs3D:

(复制前请重新刷新echart demo页面将下面代码复制入即可看到运结果,根据需要进行参数更改)   

    xAxis3D: {
        type: 'category',//value,category,time.log
        show:false,//是否显示 x 轴。\
        name:'x轴',//坐标轴名称
        grid3DIndex:0,//坐标轴使用的 grid3D 组件的索引
        nameTextStyle:{//‘x轴’样式设置
            color:'red'
        },
        nameGap:20,//坐标轴名称与轴线之间的距离,注意是三维空间的距离而非屏幕像素值。
        // min:-3,
        // min:0,//可以设置成特殊值 'dataMin',此时取数据在该轴上的最小值作为最小刻度。适用于值在类目轴中,也可以设置为类目的序数(如类目轴 data: ['类A', '类B', '类C'] 中,序数 2 表示 '类C'。也可以设置为负数,如 -3)
        // max:100,
        //scale:'',//只在数值轴中(type: 'value')有效。是否是脱离 0 值比例。设置成 true 后坐标刻度不会强制包含零刻度。在双数值轴的散点图中比较有用。在设置 min 和 max 之后该配置项无效。
        data: hours,//如果设置了 type 是 'category',但没有设置 axis.data,则 axis.data 的内容会自动从 series.data 中获取,这会比较方便。不过注意,axis.data 指明的是 'category' 轴的取值范围。如果不指定而是从 series.data 中获取,那么只能获取到 series.data 中出现的值。比如说,假如 series.data 为空时,就什么也获取不到。
       //单个类目样式设置如下:data: [{
//     value: '周一',
//     // 突出周一
//     textStyle: {
//         fontSize: 20,
//         color: 'red'
//     }
// }, '周二', '周三', '周四', '周五', '周六', '周日']
        // minInterval:''//自动计算的坐标轴最小间隔大小。type为value
        // interval:''//类目中无效
        axisLine:{
            show:true,
            interval:2,//(此处无效?)坐标轴刻度标签的显示间隔,在类目轴中有效。如果设置为 1,表示『隔一个标签显示一个标签』,如果值为 2,表示隔两个标签显示一个标签,以此类推。
            lineStyle:{
                color:'red'
            },
        },
        axisLabel:{
            show:true,
            margin:15,
            interval:3,//可控制坐标轴刻度标签的显示间隔,在类目轴中有效。
            formatter:"{value}%"//自定义x轴显示数据标签格式
        },
        axisTick:{},
        axisPointer:{
            // label:'',//标签
            show:true//是否显示坐标轴指示线。
        }
        
    },

series:此处只讨论series中type为bar3D的情况


 series: [{
        //三维柱状图
        type: 'bar3D',
        data: data.map(function (item) {
            return {
                value: [item[1], item[0], item[2]],
            }
        }),
        bevelSize:0.5,//柱子的倒角尺寸
        bevelSmoothness:39,//柱子倒角的光滑/圆润度,数值越大越光滑/圆润。
        shading: 'lambert',//color,lambert,realistic
        itemStyle:{//柱条样式
            color:'#000',
            // opacity:0.5
        },
        label: {
            show:true,//柱子的样式,包括颜色和不透明度。
            distance:10,//标签距离图形的距离
            // formatter:function(value){
            //   return value;  
            // },
            textStyle: {//标签的字体样式。
                fontSize: 16,
                borderWidth: 1
            }
        },

        emphasis: {//柱子高亮状态的标签和样式配置。
            label: {
                textStyle: {
                    fontSize: 20,
                    color: '#900'
                }
            },
            itemStyle: {
                color: '#900'
            }
        }
    }]

最后,实现一个比较常见的柱状图效果如下:(下面链接为echart官方实例)

http://gallery.echartsjs.com/editor.html?c=xryQDPYK0b

当有两个柱状图时候,同2d图一样,直接在series加入另外一组数据(也为echart官网实例)

http://gallery.echartsjs.com/editor.html?c=xSJsdlo2hb

分别效果图如下:



echarts 3D示例 echart, echarts-gl 来尝试实现下,使用原本的柱状图或者折线图代码创建echarts示例。echarts官网有很多的炫酷的3D模型。在官网案例添加代码查看模型的数据。 阅读详情

相关推荐

3DGridViewController:3DGridViewController 是一个自定义容器视图控制器,可让您在 3 维中浏览内容视图控制器,并让您完全控制过渡动画和交互性

3DGridViewController [![CI 状态]( Battaglio/3DGridViewController.svg?style=flat)]( Battaglio/3DGridViewController) 用法 要运行示例项目, pod install克隆 repo,然后从 Example 目录运行pod install 。 要求 安装 3DGridViewController 可通过。 要安装它,只需将以下行添加到您的 Podfile 中: pod "3DGridViewController" 作者 Matteo Battaglio, 执照 3DGridViewController 在 MIT 许可下可用。 有关详细信息,请参阅许可证文件。

vue中如何使用 ECharts 提供的多种布局方式,如 grid、grid3D、geo 等

TOC/TOC。

BradenHan的专栏 3175

超越界面设计:GUI Guider与LVGL在STM32F103上的系统集成与架构思考

本文探讨了GUI Guider与LVGL在STM32F103微控制器上的系统集成与架构设计,重点分析了工程模块化组织、内存管理优化、硬件驱动接口设计以及FreeRTOS多任务集成。针对STM32F103ZET6的资源限制,提供了实用的移植策略和性能优化方案,帮助开发者构建高效、可维护的嵌入式GUI系统。

j2k3l4的博客 923

echarts实现3D柱状图(视觉层面)和3D饼图

立体图形从一个方向只能看到三个面,于是我们通过echarts图表实现 顶部,明面,和暗面。更多参数配置,前往echarts官网查询,

布克吉的博客 2万+

Tera Term介绍和使用指南

Tera Term 是一个用于 Windows 操作系统的免费终端模拟器和串口通信软件。它主要用于在计算机和其他设备之间建立串口通信连接,例如通过串行线缆连接到设备如路由器、开发板或嵌入式系统。Tera Term 支持多种通信协议和功能,包括 Telnet、SSH 和串口通信。提供了一个终端窗口,模拟了常见的终端类型,如VT100。支持通过串口与设备进行通信,可用于与嵌入式系统、微控制器等设备进行连接。提供 Telnet 和 SSH 功能,可用于通过网络连接到远程主机。

weixin_49423593的博客 1万+

车辆动力学仿真模型的可信度评估方法

以转向工况测试为例,实车采集的方向盘转角作为车辆动力学模型的输入,记录车辆动力学模型的横摆角速度的输出结果,计算横摆角速度的幅频特性,根据《GB/T 6323-2014 转向盘角脉冲试验》的方法,获取横摆角速度峰值、横摆角速度谐振峰频率、横摆角速度谐振峰水平,与采集的实车结果对比,并计算车辆动力学模型和实车对于关键对比参数的相对误差。由公式(2)计算可得,在制动工况和转向工况测试下,车辆动力学模型和实车的纵向车速、制动减速度、制动距离、横摆角速度基本一致,精度> 85%,具有较好的精度。

wangchen900705的博客 1958

echarts 3D 使用

Apache ECharts,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。例如:项目场景:显示3d 柱状图。例如:echarts 配置。

weixin_41722662的博客 892

紫光同创PGL50H开发板实战:盘古50KH视频板的多媒体处理与高速通信方案

本文详细介绍了基于紫光同创PGL50H FPGA芯片的盘古50KH视频开发板在多媒体处理与高速通信方面的实战应用。文章从开发板硬件架构解析入手,逐步指导开发环境搭建、DDR3内存控制器配置、HDMI视频输入输出实战,并重点探讨了利用板载HSST高速收发器实现光纤通信与万兆以太网的方案。最后,通过构建一个集多路视频采集、处理与光纤传输于一体的系统案例,展示了该开发板在高性能实时数据处理领域的强大潜力。

b9c0d的博客 486

用echarts实现3d饼图

/ 向每个 series-surface 传入不同的参数方程 series-surface.parametricEquation,也就是实现每一个扇形。// 使用上一次遍历时,计算出的数据和 sumValue,调用 getParametricEquation 函数,// 计算选中效果分别在 x 轴、y 轴方向上的位移(未选中,则位移均为 0)// 为每一个饼图数据,生成一个 series-surface 配置。// 通过扇形内径/外径的值,换算出辅助参数 k(默认值 1/3)// 返回曲面参数方程。

weixin_40397787的博客 1万+

NSIS教程(2): 传统用户界面(Classic UI)

NSIS教程: 《NSIS用户手册 中文版》 《NSIS图文教程集锦 - 轻狂志》 本文以一个完整的、传统界面的网易云音乐安装包的脚本为示例,来介绍NSIS传统用户界面的开发流程。 NSIS脚本 # 单行注释用井号"#"或分号";",跨行注释用可以用C/C++中注释语法。 # 使用!define定义一些常量(如安装包的版本号等) # 对常量或变量的引用可以使用如${PROD

while(1) { smile(); } 8万+

CATIA二次开发——遍历几何图形集下的轴系及控制轴系生成位置

CATIA二次开发——轴系相关问题1.遍历几何图形集下的轴系2.解决轴系生成位置的问题 1.遍历几何图形集下的轴系 近期遇到的问题:遍历轴系的时候发现,AxisSystem属性的轴系只有放在轴系集合下,才能被找到,放在几何图形集或其他位置均不能被找到。本来想遍历几何图形集下的轴系元素,但是发现没有对应的属性,只能查找 几何图形集、几何元素、草图等元素,无法直接遍历轴系。 解决办法:(加入选择集,在选择集中筛选轴系类型) HybridBody axisHB = activePart.HybridBodies

WorkMan的博客 2731

echarts-gl 3D柱状图配置

基于echarts-gl的3D柱状图的使用

hfhwfw161226的博客 1669

C# Blazor Server工业监控Web UI:实时数据推送、历史曲线、报警记录,跨浏览器访问(踩坑总结+生产可用)

坑点现象解决方案StateHasChanged()太频繁服务器CPU占用高,浏览器卡顿别100ms刷新一次,1秒刷新一次足够并发高时服务器卡多个用户同时访问,服务器响应慢用Redis做分布式缓存,或者加服务器做负载均衡断线重连后数据丢失浏览器刷新后,实时数据不更新用InfluxDB存历史数据,刷新后重新查询工业现场网络不稳定Blazor Server频繁断线用SQLite本地缓存,断网时数据不丢,联网后补发历史曲线查询慢查询过去7天的数据,要等很久。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 309

在vue中使用Echarts的3D柱状图

【代码】在vue中使用Echarts的3D柱状图。

Binoculus的博客 1327

《Python Web项目集锦》-专栏介绍和目录

本专栏专注于Python Web项目,涉及内容包含FastAPI、Django、Flask等,所有项目代码完整且可直接运行。不管是零基础还是有经验的开发,相信都能从本专栏获益。有任何问题欢迎私聊博主,专栏持续更新中...

数据知道的博客 5214

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

echarts 实现3D饼图

【代码】echarts 实现3D饼图。

敲代码无敌小奶龙的博客 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

用echarts在vue2中实现3d饼图

1、修改3d饼图大小,在大概244行的位置,grid3D的对象里面,修改distance属性,即可调整。在3d饼图中设置下面这两属性是没用的,所以这里请注意一下,记得去grid3D里面修改他的位置。4、修改饼图位置,这个常用,也是在grid3D这个属性里面设置,在大概240行的位置。3、修改3d饼图颜色,直接在data中的optionData里面修改就行了。2、修改3d饼图视角高度,在大概161行的位置,修改函数的第二个参数。二、在main.js中引入。直接复制粘贴吧,省事。

蜗牛~~ 1万+

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

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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【地图可视化】Echarts地图上展示3D柱体

这是以前有这方面可视化的需求做的,找了很多资料,最后感觉这样的效果比较满意。

仨仨的博客 1万+

echart3d柱状图实现

echart3d柱状图实现

freedms的博客 578

设置 echarts3D 图表默认视角

在 grid3D配置项中增加viewControl即可。

qq_53905329的博客 352

Echarts实现3d图表

这个是因为echarts引用3d图形需要引入echarts和echarts-gl (这里我们可能会遗漏掉引入echarts-gl)要注意不同版本echarts对应不同版本echarts-gl 【如果版本不匹配就重新安装对应版版本】注意:在使用一些3d类的。的时候会发现报下面的错误。

爱蹦哒的咸鱼的博客 1921

echarts实现3d柱状图的两种方式

echarts实现3d柱状图效果

weixin_69773376的博客 1万+

Echarts与Echarts-gl构建3D立体环形图,展示默认选项

Echarts与Echarts-gl构建3D立体环形图

醉夜梦惊魂的博客 9078

vue3.0 使用echarts与echarts-gl 实现3D饼图

3、js中引入echarts。1、安装echarts。

qq_39186695的博客 9771

3d环形图开发(vue3+vite+ts)

【代码】3d环形图开发。

Alone_Endeavor的博客 2187
上一篇: 安装基于Vue-cli脚手架的Vue项目
下一篇: Vue中使用Vuex对象展开运算符写法“...”出错
小简GoGo
博客等级 码龄10年 50粉丝 32原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值