vue中3D饼图实现方案

这篇具有很好参考价值的文章主要介绍了vue中3D饼图实现方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    近期项目中大屏展示需要3D饼图(PS:别问为什么不使用2D的,问就是产品觉得3D的好看),所以度娘找了一波。

    直接找到了用echarts-gl做3D饼图的示例,Echarts 3D饼图开发_长剑浣花咻咻咻的博客-CSDN博客Echarts 3D饼图指示线开发https://blog.csdn.net/sinat_28071063/article/details/125393621

    看完我直接好家伙,大哥洋洋洒洒写了一堆,看起来就很厉害。于是乎当起了C-V战士,搬过来以后,不对,是我开发完以后呢,按照自己想要的效果修修改改了一下,看着确实不错。其中他的引导线的方案是在3D的饼图上面盖一个等数据的2D饼图,然后再把2D饼图隐藏掉。我直接惊为天人,不得不感叹前辈们的创造力。然后我就美滋滋的使用了此方案。

     结果是啥呢,结果就是测试不通过,会有展示问题,引导线没指到地方,数据量偏差稍大的时候,乱指、引导线标题重合。就像这样:

vue中3D饼图实现方案vue中3D饼图实现方案

      没办法,只能更换方案了,就在我想着使用平面图形向内倾斜60度,重新计算投影占比大小的时候,我看到了另外一个插件 - Highcharts:3D 饼图 | HighchartsHighcharts中文官网,一站式Highcharts学习资源。提供Highcharts中文论坛、Highcharts在线示例、Highcharts中文APi、Highcharts 中文教程、Highcharts资源下载等https://www.hcharts.cn/demo/highcharts/3d-pie

1、 使用方式和echarts差不多,通过API看实现也不难(不像antv,费劲)。

2、我看report报告,ecahrts-gl和Highcahrts资源占比也差不多。

直接上代码吧:

引入插件:npm install highcharts --save

1、定义容器(和ecahrts一样)

      <div class="chart-container">
        <div class="chart" :id="getId" ref="minchart" v-show="optionData.length > 0"></div>
        <div class="empty-text flex-rcc" v-show="optionData.length <= 0">暂无数据</div> 
      </div>

2、资源引入

import Highcharts from "highcharts/highcharts";
import highcharts3d from 'highcharts/highcharts-3d';
highcharts3d(Highcharts);

3、初始化饼图

// 图表初始化
      initChart () {
        //取色盘
        const color = ['#D6D5C4', '#EFEFEF', '#4366F3', '#E76C68', '#89F7FE', '#0BA360'];
        let chart = Highcharts.chart(this.containerId, {
          chart: {
            type: 'pie',
            options3d: {
              enabled: true, // 否使用 3D 功能呈现图表
              alpha: 60, // 内旋转角度
              beta: 0 // 外旋转角度
            },
            backgroundColor: 'none',
            spacing: [20, 20, 30, 20] // 图表的内边距
          },
          credits: { enabled: false }, // 版权信息 false为不显示
          tooltip: {
            // 提示框数据点格式化字符串
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>' 
          },
          plotOptions: {
            pie: {
              size: '100%',
              allowPointSelect: true,
              cursor: 'pointer',
              depth: 10, // 饼图厚度
              colors: color, // 取色盘,可以使用rgba方式
              dataLabels: {
                enabled: true, // 启用或禁用数据标签
                connectorPadding: 0, //从数据标签到连接器的距离。
                distance: 20, //数据标签与饼图边缘的距离。
                format: '<span style="color:#FFD753;font-size: 12px;">{point.y}</span>(万方)<br/>{point.name}',
                color: '#BAC3C4',
                style: {
                  "fontWeight": "normal",
                  "textOutline": "0"
                }
              }
            }
          },
          series: [{
            type: 'pie',
            name: '产量',
            data: this.optionData //数据集
          }]
        });
      },

效果展示:

vue中3D饼图实现方案

总的来说,highcharts来做3D饼图的效果还是不错的,写法上比echarts-gl要简单多了,实现上比较丝滑。 

但是,这玩意儿商用收费!!!

我的愿望是世界和平!文章来源地址https://www.toymoban.com/news/detail-474976.html

到了这里,关于vue中3D饼图实现方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue实现echarts3D饼图

    效果图: 1.首先安装依赖 2.mainjs中导入以及挂载 3.传入数据生成3D的配置项以及option的配置 4.指示线的配置

    2024年02月06日
    浏览(44)
  • vue 使用echarts实现3D饼图和环形图

    记录一下echarts实现3d饼图和环形图功能## 标题 实现效果 首先第一步安装echarts和echarts-gl echarts-gl安装最新版本可能会有异常,建议安装\\\"echarts-gl\\\": \\\"^1.1.2\\\"版本 第二步在vue文件中引入 第三步我这里把实现3d饼图的代码给封装一下,如下: 第四步 vue文件内使用 饼图的实现 如果对

    2024年02月12日
    浏览(56)
  • vue中使用echarts与echarts-gl 实现3D饼图环形饼图

    注意:我不知道版本差异会不会有影响(可以指定版本 也可以借鉴我的) 指定版本命令 加个@后面跟版本号即可 成功之后可以在package.json中检查是否安装成功(如上图) 引入位置:我没有在main.js中全局引用,而是哪个页面用到就引入哪里 代码: 注意:我没有封装起来(你

    2024年02月03日
    浏览(48)
  • Vue2+Echarts+SpringBoot+Websocket+Scheduled实现大屏图表数据实时展示

    近期在学习websocket的相关技术,用于做前后端的数据实时交互,结合网上资料和个人理解,整理了一个小白入门案例,不喜勿喷!!!!! WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议) 它实现了浏览器与服务器全双工通信,能更好的节省服务器资源

    2024年02月20日
    浏览(55)
  • vue项目基于D3js的3D饼图实现(一)

    最终效果图如下,一个具有鼠标滑过提示框,图例联动,图例翻页的3D饼图 1、创建Pie3D.vue文件 2、在utils目录中创建pie.js文件 该文件就是渲染3D饼图的主文件 3、创建renderUtils.js文件里面包含渲染3D饼图的算法函数 文件运行结果如下,此时已经创建了基本的3D饼图

    2024年02月04日
    浏览(42)
  • vue3.0 使用echarts与echarts-gl 实现可旋转,可放大3D饼图

    echarts与echarts-gl 实现3D饼图 实现效果: 旋转效果 缩放效果 实现步骤 1、安装echarts npm install echarts npm install echarts-gl 2、页面定义容器 3、js中引入echarts VUE 组件完整源码:

    2024年04月26日
    浏览(41)
  • 农业管理3d可视化管理大屏展示为乡村新基建加速

    随着科技的不断发展,智慧农业已经成为当今社会农业发展的一个重要趋势。而数字孪生技术作为一种新兴的技术手段,正在逐渐应用到智慧农业领域中。 数字孪生公司深圳华锐视点基于数字孪生为核心技术打造的智慧大脑为乡村新基建加速,让乡村更“聪明”,通过规划一

    2024年02月15日
    浏览(47)
  • vue2+vue-3d-loader 实现3D模型展示

    1.安装 vue-3d-loader npm i vue-3d-loader@1.x.x -S  注意vue2只能用1.几的版本 npm i vue-3d-loader会安装最新版本会导致不显示 2.main.js文件配置,此为全局注册 import vue3dLoader from \\\"vue-3d-loader\\\"; Vue.use(vue3dLoader) 3.具体使用 template   vue3dLoader     backgroundColor=\\\"rgb(216,217,219)\\\"     :height=\\\"600\\\"    

    2024年02月02日
    浏览(51)
  • 大屏可视化展示平台解决方案(word原件获取)

    1.系统概述 1.1.需求分析 1.2.重难点分析 1.3.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 2.3.接口及要求 3.系统功能设计 3.1.功能清单列表 3.2.数据源管理 3.3.数据集管理 3.4.视图管理 3.5.仪表盘管理 3.6.移动端设计 3.1.系统权限设计 3.2.数据查询过程设计 软件全套精

    2024年04月12日
    浏览(43)
  • 基于Vue的3D饼图

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 先看效果: 再看代码:

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包