当前位置:首页 > 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 并创建散点图实例:

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>

响应式调整

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

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 增强交互性:

Vue echarts实现散点图

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

标签: Vueecharts
分享给朋友:

相关文章

Vue前端路由实现

Vue前端路由实现

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

Vue实现点击div实现图片切换

Vue实现点击div实现图片切换

实现思路 通过Vue的数据绑定和事件监听,动态修改当前显示的图片路径或索引,实现点击div切换图片的效果。核心是利用v-on监听点击事件,并结合v-bind动态绑定图片的src属性。 基础实…

Vue实现多个echarts排版

Vue实现多个echarts排版

实现多个 ECharts 实例的排版布局 在 Vue 中实现多个 ECharts 实例的排版布局,可以通过 CSS 布局结合 ECharts 的响应式设计来完成。以下是几种常见方法: 使用 Flex…

Vue怎么实现权限验证

Vue怎么实现权限验证

Vue权限验证实现方法 路由守卫验证 在router.js中配置全局前置守卫,通过meta字段标记路由权限要求。检查用户权限是否匹配,未匹配则跳转到登录页或403页面。 router.beforeE…

Vue实现遍历并交互

Vue实现遍历并交互

Vue实现遍历并交互 在Vue中,可以使用v-for指令遍历数组或对象,并结合事件绑定实现交互功能。以下是一个完整的实现方法: 遍历数组并绑定点击事件 <template> &l…

Vue实现列表选择变色

Vue实现列表选择变色

Vue实现列表选择变色 在Vue中实现列表选择变色可以通过多种方式完成,以下是几种常见的方法: 使用v-bind动态绑定class 通过v-bind:class动态绑定类名,根据当前选中项的状态切换…