vue3+echarts 立体柱状效果

本文展示了如何在Vue3项目中使用ECharts库创建一个带有立体效果的柱状图,提供了一个详细的代码片段,包括配置选项和在组件中初始化图表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue3+echarts 立体柱状效果

废话不多说,直接上代码 就两步,直接复制粘贴一手

 <div id="main" class="chart" ref="chartDom"></div>
import * as echarts from 'echarts';
type EChartsOption = echarts.EChartsOption;
var chartDom = document.getElementById('main');
var option: EChartsOption;

option = {
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'shadow'
    }
  },
  grid: {
    top: '10%',
    left: '3%',
    right: '4%',
    bottom: '10%',
    containLabel: true
  },
  xAxis: [
    {
      type: 'category',
      data: ['天', '大', '1', '2', '3'],
      axisTick: {
        alignWithLabel: true
      },
      axisLabel: {
        color: '#ffffff',
        fontSize: 16
      }
    }
  ],
  yAxis: [
    {
      type: 'value',
      interval: 20,
      axisLabel: {
        color: '#ffffff',
        fontSize: 16
      }
    },

  ],
  series: [
    {
      name: 'Direct',
      type: 'bar',
      data: [20, 42, 36, 50, 53],
      barGap: 0,
      barWidth: 13,
      label: {
        normal: {
          show: false,
          position: "insideRight"
        }
      },
      itemStyle: {
        normal: {
          color: new echarts.graphic.LinearGradient(
            0, 0, 0, 1,
            [
              { offset: 0, color: '#8c40dc' },     //柱状图从左向右颜色渐变
              { offset: 1, color: '#1e2a4c' }
            ]
          ),
        }
      },
    },
    {
      name: 'Direct',
      type: 'bar',
      barWidth: 16,
      data: [20, 42, 36, 50, 53],
      tooltip: {
        show: false
      },
      label: {
        normal: {
          show: false,
          position: "insideRight"
        }
      },
      itemStyle: {
        normal: {
          color: "#502f92"
        }
      },
    }, {
      name: 'Direct',
      barWidth: 22,
      data: [20, 42, 36, 50, 53],
      type: "pictorialBar", // 长方体顶部四边形
      symbol: 'diamond',
      symbolRotate: 0,
      symbolSize: ['28', '10'],
      symbolOffset: ['0', '-5'],
      symbolPosition: 'end',
      z: 3, // 顶部四边形
      tooltip: {
        show: false
      },
      label: {
        normal: {
          show: false,
          position: "insideRight"
        }
      },
      itemStyle: {
        normal: {
          color: "#761c9a"
        }
      },
    },

  ]
};
onMounted(() => {
  var myChart = echarts.init(chartDom);
  option && myChart.setOption(option);
})

在这里插入图片描述

是使用Vue2和Echarts实现立体柱状图的步骤: 1. 首先,需要在Vue项目中安装Echarts。可以使用npm或yarn进行安装,命令如下: ``` npm install echarts --save ``` 或者 ``` yarn add echarts ``` 2. 在Vue组件中引入Echarts,并创建一个Echarts实例: ```javascript import echarts from &#39;echarts&#39; export default { data() { return { chartData: null } }, mounted() { this.initChart() }, methods: { initChart() { const chartDom = this.$refs.chart const myChart = echarts.init(chartDom) this.chartData = myChart } } } ``` 3. 在模板中添加一个div元素,用于渲染Echarts图表: ```html <template> <div class="chart-container"> <div ref="chart" class="chart"></div> </div> </template> ``` 4. 在Vue组件的方法中,使用Echarts的API创建立体柱状图: ```javascript const option = { tooltip: {}, visualMap: { max: 20, inRange: { color: [&#39;#e0ffff&#39;, &#39;#006edd&#39;] } }, xAxis3D: { type: &#39;category&#39;, data: [&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;, &#39;G&#39;, &#39;H&#39;] }, yAxis3D: { type: &#39;category&#39;, data: [&#39;Monday&#39;, &#39;Tuesday&#39;, &#39;Wednesday&#39;, &#39;Thursday&#39;, &#39;Friday&#39;, &#39;Saturday&#39;, &#39;Sunday&#39;] }, zAxis3D: { type: &#39;value&#39; }, grid3D: { boxWidth: 200, boxDepth: 80, viewControl: { // projection: &#39;orthographic&#39; }, light: { main: { intensity: 1.2, shadow: true }, ambient: { intensity: 0.3 } } }, series: [{ type: &#39;bar3D&#39;, data: [ [&#39;A&#39;, &#39;Monday&#39;, 10], [&#39;B&#39;, &#39;Monday&#39;, 8], [&#39;C&#39;, &#39;Monday&#39;, 7], [&#39;D&#39;, &#39;Monday&#39;, 6], [&#39;E&#39;, &#39;Monday&#39;, 5], [&#39;F&#39;, &#39;Monday&#39;, 4], [&#39;G&#39;, &#39;Monday&#39;, 3], [&#39;H&#39;, &#39;Monday&#39;, 2], [&#39;A&#39;, &#39;Tuesday&#39;, 3], [&#39;B&#39;, &#39;Tuesday&#39;, 5], [&#39;C&#39;, &#39;Tuesday&#39;, 6], [&#39;D&#39;, &#39;Tuesday&#39;, 7], [&#39;E&#39;, &#39;Tuesday&#39;, 8], [&#39;F&#39;, &#39;Tuesday&#39;, 9], [&#39;G&#39;, &#39;Tuesday&#39;, 10], [&#39;H&#39;, &#39;Tuesday&#39;, 11], [&#39;A&#39;, &#39;Wednesday&#39;, 12], [&#39;B&#39;, &#39;Wednesday&#39;, 10], [&#39;C&#39;, &#39;Wednesday&#39;, 9], [&#39;D&#39;, &#39;Wednesday&#39;, 8], [&#39;E&#39;, &#39;Wednesday&#39;, 7], [&#39;F&#39;, &#39;Wednesday&#39;, 6], [&#39;G&#39;, &#39;Wednesday&#39;, 5], [&#39;H&#39;, &#39;Wednesday&#39;, 4], [&#39;A&#39;, &#39;Thursday&#39;, 5], [&#39;B&#39;, &#39;Thursday&#39;, 7], [&#39;C&#39;, &#39;Thursday&#39;, 8], [&#39;D&#39;, &#39;Thursday&#39;, 9], [&#39;E&#39;, &#39;Thursday&#39;, 10], [&#39;F&#39;, &#39;Thursday&#39;, 11], [&#39;G&#39;, &#39;Thursday&#39;, 12], [&#39;H&#39;, &#39;Thursday&#39;, 13], [&#39;A&#39;, &#39;Friday&#39;, 15], [&#39;B&#39;, &#39;Friday&#39;, 13], [&#39;C&#39;, &#39;Friday&#39;, 12], [&#39;D&#39;, &#39;Friday&#39;, 11], [&#39;E&#39;, &#39;Friday&#39;, 10], [&#39;F&#39;, &#39;Friday&#39;, 9], [&#39;G&#39;, &#39;Friday&#39;, 8], [&#39;H&#39;, &#39;Friday&#39;, 7], [&#39;A&#39;, &#39;Saturday&#39;, 4], [&#39;B&#39;, &#39;Saturday&#39;, 6], [&#39;C&#39;, &#39;Saturday&#39;, 7], [&#39;D&#39;, &#39;Saturday&#39;, 8], [&#39;E&#39;, &#39;Saturday&#39;, 9], [&#39;F&#39;, &#39;Saturday&#39;, 10], [&#39;G&#39;, &#39;Saturday&#39;, 11], [&#39;H&#39;, &#39;Saturday&#39;, 12], [&#39;A&#39;, &#39;Sunday&#39;, 16], [&#39;B&#39;, &#39;Sunday&#39;, 14], [&#39;C&#39;, &#39;Sunday&#39;, 13], [&#39;D&#39;, &#39;Sunday&#39;, 12], [&#39;E&#39;, &#39;Sunday&#39;, 11], [&#39;F&#39;, &#39;Sunday&#39;, 10], [&#39;G&#39;, &#39;Sunday&#39;, 9], [&#39;H&#39;, &#39;Sunday&#39;, 8] ], shading: &#39;lambert&#39;, label: { textStyle: { fontSize: 16, borderWidth: 1 } }, itemStyle: { opacity: 0.8 } }] } this.chartData.setOption(option) ``` 这里的option是一个包含Echarts图表配置的对象,其中包括了x轴、y轴、z轴、数据等信息。可以根据实际需求进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值