当前位置:首页 > VUE

vue实现多个图表展示

2026-01-12 02:21:06VUE

使用 Vue 实现多个图表展示

安装图表库

推荐使用 EChartsChart.js,两者均支持 Vue 集成。以 ECharts 为例,安装依赖:

npm install echarts vue-echarts

引入并注册组件

在 Vue 项目中全局或局部注册图表组件。以全局注册为例:

vue实现多个图表展示

import { createApp } from 'vue';
import ECharts from 'vue-echarts';
import { use } from 'echarts/core';
import { CanvasRenderer } from 'echarts/renderers';
import { BarChart, LineChart } from 'echarts/charts';
import { GridComponent, TooltipComponent } from 'echarts/components';

use([CanvasRenderer, BarChart, LineChart, GridComponent, TooltipComponent]);

const app = createApp(App);
app.component('v-chart', ECharts);

创建多个图表组件

在父组件中通过动态数据渲染多个图表。例如:

vue实现多个图表展示

<template>
  <div class="chart-container">
    <v-chart class="chart" :option="lineOption" />
    <v-chart class="chart" :option="barOption" />
  </div>
</template>

<script>
export default {
  data() {
    return {
      lineOption: {
        xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed'] },
        yAxis: { type: 'value' },
        series: [{ data: [150, 230, 224], type: 'line' }]
      },
      barOption: {
        xAxis: { type: 'category', data: ['A', 'B', 'C'] },
        yAxis: { type: 'value' },
        series: [{ data: [10, 20, 30], type: 'bar' }]
      }
    };
  }
};
</script>

<style>
.chart-container {
  display: flex;
  gap: 20px;
}
.chart {
  width: 400px;
  height: 300px;
}
</style>

动态加载数据

通过 API 或静态数据动态更新图表配置:

methods: {
  fetchData() {
    // 模拟异步数据获取
    setTimeout(() => {
      this.lineOption.series[0].data = [200, 300, 400];
    }, 1000);
  }
},
mounted() {
  this.fetchData();
}

响应式调整

监听窗口变化,调用 ECharts 的 resize 方法:

window.addEventListener('resize', () => {
  this.$refs.lineChart?.resize();
  this.$refs.barChart?.resize();
});

注意事项

  • 若需更复杂的交互,可配置 tooltip 或自定义事件。
  • 销毁组件时移除事件监听,避免内存泄漏。
  • 使用 v-if 控制图表渲染时机,避免空白容器。

标签: 多个图表
分享给朋友:

相关文章

vue实现多个tab

vue实现多个tab

Vue 实现多个 Tab 的方法 在 Vue 中实现多个 Tab 功能可以通过动态组件、条件渲染或第三方库来完成。以下是几种常见的方法: 使用动态组件和 v-for 循环 通过动态组件和 v-for…

vue实现多个树状图

vue实现多个树状图

Vue实现多个树状图的方法 在Vue中实现多个树状图可以通过组件化方式完成,通常使用递归组件或第三方库(如Element UI的Tree组件)。以下是具体实现方法: 使用递归组件实现基础树状结构…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm…

jquery 图表

jquery 图表

jQuery 图表库推荐 jQuery 本身不直接提供图表功能,但可以通过插件或集成其他库实现图表绘制。以下是几种常用的 jQuery 图表解决方案: Chart.js 集成 Chart.js 是…