iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >vue怎么使用echarts实现立体柱形图
  • 749
分享到

vue怎么使用echarts实现立体柱形图

2023-06-29 20:06:53 749人浏览 安东尼
摘要

今天小编给大家分享一下Vue怎么使用echarts实现立体柱形图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。立体柱形图是由

今天小编给大家分享一下Vue怎么使用echarts实现立体柱形图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

立体柱形图是由前面、右面、上面三部分组成,绘制时需要先绘制前面为一个图形,右面和上面绘制为一个图形,然后在echats中注册,在option的series中renderItem中渲染
代码如下:

(1)注册绘制图形

reGIStry () {      let MyCubeRect = this.$echarts.graphic.extendShape({        shape: {          x: 0,          y: 0,          width: 20,          zWidth: 8,          zHeight: 4        },        buildPath: function (ctx, shape) {          const api = shape.api          const xAxisPoint = api.coord([shape.xValue, 0])          const p0 = [shape.x, shape.y]          const p1 = [shape.x - shape.width / 2, shape.y]          const p4 = [shape.x + shape.width / 2, shape.y]          const p2 = [shape.x - shape.width / 2, xAxisPoint[1]]          const p3 = [shape.x + shape.width / 2, xAxisPoint[1]]          ctx.moveTo(p0[0], p0[1])          ctx.lineTo(p1[0], p1[1])          ctx.lineTo(p2[0], p2[1])          ctx.lineTo(p3[0], p3[1])          ctx.lineTo(p4[0], p4[1])          ctx.lineTo(p0[0], p0[1])          ctx.closePath()        }      })      let MyCubeShadow = this.$echarts.graphic.extendShape({        shape: {          x: 0,          y: 0,          width: 20,          zWidth: 8,          zHeight: 4        },        buildPath: function (ctx, shape) {          const api = shape.api          const xAxisPoint = api.coord([shape.xValue, 0])          const p1 = [shape.x - shape.width / 2, shape.y]          const p4 = [shape.x + shape.width / 2, shape.y]          const p6 = [shape.x + shape.width / 2 + shape.zWidth, shape.y - shape.zHeight]          const p7 = [shape.x - shape.width / 2 + shape.zWidth, shape.y - shape.zHeight]          const p3 = [shape.x + shape.width / 2, xAxisPoint[1]]          const p5 = [shape.x + shape.width / 2 + shape.zWidth, xAxisPoint[1] - shape.zHeight]          ctx.moveTo(p4[0], p4[1])          ctx.lineTo(p3[0], p3[1])          ctx.lineTo(p5[0], p5[1])          ctx.lineTo(p6[0], p6[1])          ctx.lineTo(p4[0], p4[1])          ctx.moveTo(p4[0], p4[1])          ctx.lineTo(p6[0], p6[1])          ctx.lineTo(p7[0], p7[1])          ctx.lineTo(p1[0], p1[1])          ctx.lineTo(p4[0], p4[1])          ctx.closePath()        }      })      this.$echarts.graphic.registerShape('MyCubeRect', MyCubeRect)      this.$echarts.graphic.registerShape('MyCubeShadow', MyCubeShadow)    }

(2)渲染图形

barChartOption: {        tooltip: {          trigger: 'axis',          axisPointer: {            type: 'cross',            label: {              backgroundColor: '#6a7985'            }          }        },        grid: {          containLabel: true,          top: '30px',          bottom: '0px',          left: '0px'        },        xAxis: {          type: 'cateGory',          axisLabel: {            interval: 0,            fontSize: fontSize(12)          },          axisLine: {            show: false,            lineStyle: {              color: '#98b9c5'            }          },          data: []  //通过后端传入数据js传入        },        yAxis: {          type: 'value',          axisLabel: {            fontSize: fontSize(12)          },          axisLine: {            show: false,            lineStyle: {              color: '#98b9c5'            }          },          splitLine: {            lineStyle: {              color: '#3a586a',              type: 'dashed'            }          }        },        series: [{          name: '单位面积能耗',          type: 'custom',          renderItem: (params, api) => {            let location = api.coord([api.value(0), api.value(1)])            return {              type: 'group',              children: [{                type: 'MyCubeRect',                shape: {                  api,                  xValue: api.value(0) - 0.5,                  yValue: api.value(1),                  x: location[0],                  y: location[1]                },                style: api.style()              },              {                type: 'MyCubeShadow',                shape: {                  api,                  xValue: api.value(0) - 0.5,                  yValue: api.value(1),                  x: location[0],                  y: location[1]                },                style: {                  fill: api.style(),                  text: ''                }              }]            }          },          stack: '单位面积能耗',          label: {            show: true,            position: 'top',            fORMatter: '{c}',            textStyle: {              fontSize: fontSize(12),              color: '#fff',              align: 'center'            }          },          itemStyle: {            color: new this.$echarts.graphic.LinearGradient(              0, 0, 0, 1,              [                { offset: 0, color: '#b1950d' },                { offset: 0.5, color: '#aea20d' },                { offset: 1, color: '#a5aa12' }              ]            )          },          data: [] //后端传入数据        }]      }

注意事项:

1)、在注册图形时style:只能使用 style: api.style();
text: ''后面才能使用label在图形顶部放置value

2)、this.$echarts是经过统一封装之后的,具体情况还需具体考虑

(3)生成图形

generateBarChart () {      let vm = this      if (this.$refs['uintEnergyConsume']) { //this.$refs是生成图形区域的ref值        this.$echarts.graphic.registerShape('MyCubeRect', this.MyCubeRect)        this.$echarts.graphic.registerShape('MyCubeShadow', this.MyCubeShadow)        this.barChart = this.$echarts.init(this.$refs['uintEnergyConsume'])        this.barChart.setOption(this.barChartOption, false, true)        $(window).resize(function () { //屏幕自适应          vm.handleResize()        })      }    }

(4)template中代码

<div  ref="uintEnergyConsume"  id="uintEnergyConsume"  class="chart-container"    element-loading-text="加载中..."></div></div>

(5)效果如下:

vue怎么使用echarts实现立体柱形图

以上就是“vue怎么使用echarts实现立体柱形图”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: vue怎么使用echarts实现立体柱形图

本文链接: https://www.lsjlt.com/news/326271.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue使用echarts实现立体柱形图
    本文实例为大家分享了vue使用echarts实现立体柱形图的具体代码,供大家参考,具体内容如下 立体柱形图是由前面、右面、上面三部分组成,绘制时需要先绘制前面为一个图形,右面和上面绘...
    99+
    2024-04-02
  • vue怎么使用echarts实现立体柱形图
    今天小编给大家分享一下vue怎么使用echarts实现立体柱形图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。立体柱形图是由...
    99+
    2023-06-29
  • vue基于echarts实现立体柱形图
    立体柱形图是由前面、右面、上面三部分组成,绘制时需要先绘制前面为一个图形,右面和上面绘制为一个图形,然后在echats中注册,在option的series中renderItem中渲染...
    99+
    2024-04-02
  • Vue使用Echarts实现立体柱状图
    本文实例为大家分享了Vue使用Echarts实现立体柱状图的具体代码,供大家参考,具体内容如下 预览: 代码: 页面部分: <template> <div ...
    99+
    2024-04-02
  • vue3.0+echarts实现立体柱图
    前言: vue3.0实现echarts立体柱图 实现效果:   实现步骤: 1、安装echarts cnpm i --save echarts 2、页面定义容器 ...
    99+
    2024-04-02
  • vue+echarts怎么实现3D柱形图
    这篇文章主要介绍了vue+echarts怎么实现3D柱形图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue+echarts怎么实现3D柱形图文章都会有所收获,下面我们一起来看看吧。效果如下:1、安装echa...
    99+
    2023-06-29
  • vue+echarts实现3D柱形图
    本文实例为大家分享了vue+echarts实现3D柱形图的具体代码,供大家参考,具体内容如下 1、安装echarts npm install echarts --save 2、引入...
    99+
    2024-04-02
  • vue+Echart实现立体柱状图
    本文实例为大家分享了Echart+Vue制作立体柱状图,供大家参考,具体内容如下 先来看一下制作完成后的效果: 废话不多说,直接上代码: HTML代码: <div class...
    99+
    2024-04-02
  • 怎么使用vue+echarts绘制折线图、柱状图和扇形图
    这篇“怎么使用vue+echarts绘制折线图、柱状图和扇形图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用vue+...
    99+
    2023-07-05
  • Vue Echarts实现带滚动效果的柱形图
    本文实例为大家分享了Vue Echarts实现带滚动效果柱形图的具体代码,供大家参考,具体内容如下 代码 <template>   <div class="time...
    99+
    2024-04-02
  • 基于Echarts如何实现绘制立体柱状图
    本篇内容主要讲解“基于Echarts如何实现绘制立体柱状图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于Echarts如何实现绘制立体柱状图”吧!实现方法先写一个常规的柱状图在这个基础上进行...
    99+
    2023-07-05
  • 如何使用vue实现柱形图
    本篇内容介绍了“如何使用vue实现柱形图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用vue实现柱形图的方法:1、创建div属性为“&l...
    99+
    2023-07-05
  • ECharts​怎么实现柱状图
    这篇文章主要讲解了“ECharts怎么实现柱状图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ECharts怎么实现柱状图”吧! //1、引入JS文件 ...
    99+
    2024-04-02
  • vue echarts实现横向柱状图
    本文实例为大家分享了vue echarts实现横向柱状图的具体代码,供大家参考,具体内容如下 实现效果: 代码: <template> <div clas...
    99+
    2024-04-02
  • vue+echarts实现堆叠柱状图
    本文实例为大家分享了vue+echarts实现堆叠柱状图的具体代码,供大家参考,具体内容如下 echarts-子组件 <template> <div cla...
    99+
    2024-04-02
  • Vue+Echarts实现柱状折线图
    本文实例为大家分享了Vue+Echarts实现柱状折线图的具体代码,供大家参考,具体内容如下 vue处理json数据渲染柱状折线图 HTML: <div id="lineCha...
    99+
    2024-04-02
  • vue中怎么使用echarts和echarts-gl实现3D饼图环形饼图
    今天小编给大家分享一下vue中怎么使用echarts和echarts-gl实现3D饼图环形饼图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-05
  • 使用Echart实现绘制立体的柱状图
    效果图: 实现代码: var xData3 = ["6", "7", "8", "9","10","11"]; var data3 = [1209, 1715, 2408,...
    99+
    2024-04-02
  • vue+echarts怎么实现条纹柱状横向图
    这篇“vue+echarts怎么实现条纹柱状横向图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue+echarts怎么实...
    99+
    2023-06-29
  • echarts怎么实现3d柱状图
    本篇内容介绍了“echarts怎么实现3d柱状图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!echarts实现3d柱状图的两种方式看了不少...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作