vue3+typeScript中echarts饼图,轮播使饼图中自动高亮放大

本文介绍了如何在Vue3和TypeScript环境中利用Echarts实现饼图的轮播效果,同时在轮播过程中自动高亮并放大选中部分。通过修改HTML、TS和SCSS代码,成功达到了预期效果。
摘要由CSDN通过智能技术生成

原图:在这里插入图片描述
原echarts代码

修改后效果如下:
在这里插入图片描述
html代码如下:

<div
    ref="radarChart"
    :style="{ width: width + 'px', height: height + 'px' }"
    class="chart-panelBar"
  ></div>

使用了typescript代码如下:

<script lang="ts">
import {
    useStore } from 'vuex'
import {
    StateType as BigStoreType } from '../store'
import {
   
  defineComponent,
  ref,
  onMounted,
  computed,
  watch,
  onBeforeUnmount,
  reactive,
} from 'vue'
import {
    BIG_SCREEN_STORE } from '../constant'
import {
    color, EChartsOption, format, graphic, number } from 'echarts'
import useEcharts from '@/composables/useEcharts'

export default defineComponent({
   
  props: {
   
    cityCode: {
   
      type: String,
      default: () => '',
    },
    width: {
   
      type: Number,
      default: 300,
    },
    height: {
   
      type: Number,
      // default: 200,
      default: 200,
    },
  },
  setup(props) {
   
    /**
     * 从store中拿取数据,使用store
     */
    const bigStoreStore = useStore<{
      BigScreen: BigStoreType }>()
    const currentIndustryType = ref<number>(0)
    /**
     * echarts中需要的颜色,可自行配置
     */
    // const color = ['#FECC2A', '#00F508', '#00F5DC']
    const color = ['#0F9BEC', '#FFB301', '#00F5DC']

    /**
     * 创建一个响应式的变量用来存当前的要改变的echarts的下标
     */
    const currentIndex = ref<number>(0)
    const updatelineData = () => {
   
      const inSialtyBar = bigStoreStore.state.BigScreen
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ECharts是一个基于JavaScript的开源可视化库,用于构建交互式的数据可视化图表。它提供了丰富的图表类型,包括饼图,并且支持3D立体效果。 要在ECharts创建饼图并添加3D立体效果,你可以按照以下步骤进行操作: 1. 引入ECharts库:在HTML文件引入ECharts库的JavaScript文件。 ```html <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2/dist/echarts.min.js"></script> ``` 2. 创建一个容器:在HTML文件创建一个用于显示图表的容器。 ```html <div id="chartContainer" style="width: 600px; height: 400px;"></div> ``` 3. 初始化图表:在JavaScript代码初始化一个ECharts实例,并指定容器的ID。 ```javascript var chart = echarts.init(document.getElementById('chartContainer')); ``` 4. 配置饼图数据:设置饼图的数据和样式。 ```javascript var option = { series: [{ type: 'pie', radius: '50%', data: [ {value: 335, name: '数据1'}, {value: 310, name: '数据2'}, {value: 234, name: '数据3'}, {value: 135, name: '数据4'}, {value: 1548, name: '数据5'} ], label: { show: true, formatter: '{b} : {c} ({d}%)' }, emphasis: { label: { show: true, fontSize: '16', fontWeight: 'bold' } } }] }; ``` 在上面的代码,`data`数组的每个对象表示一个饼图的数据项,`name`表示数据项的名称,`value`表示数据项的值。`label`用于设置饼图上的标签显示样式,`emphasis`用于设置鼠标悬停时的样式。 5. 设置3D效果:为了给饼图添加3D立体效果,需要在`series`添加`globe`属性,并设置其值为`true`。 ```javascript option.series.globe = true; ``` 6. 渲染图表:将配置应用到图表实例,并渲染出来。 ```javascript chart.setOption(option); ``` 以上就是在ECharts创建饼图并添加3D立体效果的基本步骤。你可以根据自己的需求进一步调整配置和样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cyanempty

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值