当前位置:首页 > 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
分享给朋友:

相关文章

elementui echarts

elementui echarts

ElementUI 与 ECharts 集成指南 ElementUI 是饿了么团队开发的 Vue.js 组件库,ECharts 是百度开源的 JavaScript 图表库。两者结合可快速构建数据可视化…

Vue数据依赖实现

Vue数据依赖实现

Vue数据依赖实现原理 Vue的数据依赖实现基于响应式系统,核心是通过Object.defineProperty或Proxy拦截数据变化,结合发布-订阅模式实现依赖收集和更新触发。 核心机制 依赖收…

Vue实现lagger页面

Vue实现lagger页面

Vue实现懒加载页面的方法 懒加载(Lazy Loading)是一种优化技术,用于延迟加载非关键资源,从而提升页面初始加载速度。在Vue中可以通过以下方式实现懒加载: 路由懒加载 使用Vue Rou…

Vue实现歌曲列表

Vue实现歌曲列表

Vue实现歌曲列表的方法 使用Vue实现歌曲列表可以通过组件化开发、数据绑定和事件处理来完成。以下是具体实现步骤: 数据准备 定义一个包含歌曲信息的数组,每个元素包含歌曲名称、歌手、时长等属性。数据…

Vue实现音乐列表

Vue实现音乐列表

Vue 实现音乐列表的方法 数据准备与绑定 在 Vue 中实现音乐列表,首先需要准备音乐数据。可以通过数组形式存储音乐信息,例如歌曲名称、歌手、封面图片和播放链接。数据可以存储在组件的 data 属性…

Vue使用transform实现轮播

Vue使用transform实现轮播

使用 transform 实现 Vue 轮播 在 Vue 中,可以通过 transform 和 CSS 过渡效果实现平滑的轮播效果。以下是具体实现方法: 核心思路 利用 transform: tra…