当前位置:首页 > VUE

Vue echarts实现散点图

2026-02-17 20:31:55VUE

Vue 中实现 ECharts 散点图

安装 ECharts 依赖

在 Vue 项目中通过 npm 或 yarn 安装 ECharts:

npm install echarts --save
# 或
yarn add echarts

引入 ECharts 并初始化图表

在 Vue 组件中引入 ECharts 并创建散点图实例:

Vue echarts实现散点图

import * as echarts from 'echarts';

export default {
  mounted() {
    this.initChart();
  },
  methods: {
    initChart() {
      const chartDom = document.getElementById('scatter-chart');
      const myChart = echarts.init(chartDom);

      const option = {
        xAxis: {},
        yAxis: {},
        series: [{
          symbolSize: 20,
          data: [
            [10, 20],
            [15, 30],
            [25, 10],
            [35, 40],
            [45, 15]
          ],
          type: 'scatter'
        }]
      };

      myChart.setOption(option);
    }
  }
}

模板中添加容器

在组件的模板中添加一个容器元素用于渲染图表:

<template>
  <div id="scatter-chart" style="width: 600px; height: 400px;"></div>
</template>

响应式调整

监听窗口大小变化并调整图表尺寸:

Vue echarts实现散点图

methods: {
  initChart() {
    // ...初始化代码...
    window.addEventListener('resize', () => {
      myChart.resize();
    });
  }
},
beforeDestroy() {
  window.removeEventListener('resize', () => {});
}

自定义散点图样式

通过配置项自定义散点颜色、大小和形状:

series: [{
  symbolSize: (value) => {
    return value[1] * 0.5; // 根据 y 值动态调整大小
  },
  itemStyle: {
    color: '#c23531'
  },
  data: [
    [10, 20, 'A'], // 第三个参数可用于 tooltip 显示
    [15, 30, 'B'],
    [25, 10, 'C']
  ],
  type: 'scatter'
}]

添加交互功能

配置 tooltip 和 dataZoom 增强交互性:

option: {
  tooltip: {
    formatter: (params) => {
      return `值: ${params.value[0]}, ${params.value[1]}`;
    }
  },
  dataZoom: [
    {
      type: 'slider',
      xAxisIndex: 0
    },
    {
      type: 'slider',
      yAxisIndex: 0
    }
  ]
}

标签: Vueecharts
分享给朋友:

相关文章

Vue实现几行滚动

Vue实现几行滚动

Vue实现多行滚动效果 实现多行滚动效果可以通过CSS结合Vue的动态绑定完成。以下是几种常见实现方式: CSS动画实现 <template> <div class="scr…

Vue实现数据检验

Vue实现数据检验

Vue 数据校验的实现方法 在Vue中实现数据校验可以通过多种方式完成,以下是常见的几种方法: 使用Vue的内置指令 Vue提供了一些内置指令如v-model和v-bind可以结合HTML5的表单验…

Vue前端路由实现

Vue前端路由实现

Vue前端路由的实现方式 Vue前端路由通常通过vue-router库实现,它是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是核心实现方法和步骤: 安装vue-router 通过…

Vue全局loading实现

Vue全局loading实现

Vue全局Loading的实现方法 使用Vue插件封装全局Loading组件 创建一个独立的Loading组件,通过Vue插件机制注册为全局组件或方法。 <template> <…

Vue实现时钟

Vue实现时钟

Vue实现时钟的方法 使用Vue实现时钟可以通过多种方式完成,以下是几种常见的实现方法: 使用Date对象和setInterval 通过JavaScript的Date对象获取当前时间,并使用set…

Vue实现鼠标悬浮

Vue实现鼠标悬浮

鼠标悬浮效果实现方法 在Vue中实现鼠标悬浮效果可以通过多种方式完成,以下是几种常见方法: 使用v-on指令绑定事件 通过@mouseenter和@mouseleave事件可以实现悬浮效果 &…