vue2中echarts的使用

本文介绍了在Vue项目中如何通过npm和yarn安装ECharts库,以及如何导入并实现基本的图表展示,包括数据配置和tooltip功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装

npm安装

 npm i echarts--save

yarn安装

yarn add echarts

二、引入echarts

import * as echarts from 'echarts'

三、使用echarts

<template>
  <div id="chart" style="width: 50vw; height: 400px;"></div>
</template>

<script>
import * as echarts from 'echarts'

export default {
  data() {
    return {

    }
  },
  mounted() {
    this.initChart()
  },
  methods: {
    initChart() {
      const chart = echarts.init(document.getElementById('chart'))

      const option = {
       grid: { //占比大小
                    left: '5%',
                    right: '5%',
                    bottom: '10%',
                    containLabel: true
               },
        title: {
          text: 'ECharts 示例'
        },
        tooltip: {
          trigger: 'axis',
          formatter: function (params) {
            console.log(params[0].seriesName);
            return '2022年数据' + '<br/>' + params[0].seriesName + ':' + params[0].data + '<br>'
              + params[1].seriesName + ':' + params[1].data + '<br>'
            // + params[2].seriesName + ':' + params[2].data
          }

        },
        legend: {
          data: ['销量']
        },
        xAxis: {
          type: 'category',
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子']
        },
        yAxis: {
          type: 'value'
          min: 0,
          name: '单位 W',
          splitNumber: 5, // 设置为 5 表示显示五行刻度线
        },
        series: [
          {
            name: '销量',
            type: 'bar',
            data: [5, 2, 3, 4],
            barWidth:'30' //设置柱子的width

          },
          {
            name: 'app',
            type: 'bar',
            data: [8, 2, 3, 4],
            itemStyle: {
              color: 'blue'
            }
          },

        ]
      }

      chart.setOption(option)
    }
  }
}
</script>

### 在 Vue2 项目中引入和配置 ECharts #### 安装依赖 为了在 Vue2 项目中使用 ECharts,首先需要安装 `echarts` 库。可以通过 npm 或 yarn 来完成这一操作。 ```bash npm install echarts --save ``` 或者: ```bash yarn add echarts ``` 这一步会将 ECharts 添加到项目的依赖列表中[^1]。 --- #### 创建一个独立的图表组件 (Chart.vue) 创建一个新的文件 `Chart.vue` 并将其作为单独的组件来封装 ECharts 图表逻辑。 以下是完整的代码实现: ```vue <template> <div ref="chart" style="width: 100%; height: 400px;"></div> </template> <script> import * as echarts from 'echarts'; export default { data() { return { chartInstance: null, }; }, mounted() { this.initChart(); }, beforeDestroy() { if (!this.chartInstance) { return; } this.chartInstance.dispose(); // 销毁实例以释放内存资源 }, methods: { initChart() { const chartDom = this.$refs.chart; // 获取 DOM 节点 this.chartInstance = echarts.init(chartDom); // 初始化 ECharts 实例 const option = { title: { text: 'ECharts 示例', }, tooltip: {}, legend: { data: ['销量'], }, xAxis: { type: 'category', data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'], }, yAxis: { type: 'value', }, series: [ { name: '销量', type: 'bar', data: [5, 20, 36, 10, 10, 20], }, ], }; this.chartInstance.setOption(option); // 设置图表选项 }, }, }; </script> <style scoped> /* 可在此处定义局部样式 */ </style> ``` 此部分实现了基本的柱状图展示功能,并通过生命周期钩子管理了 ECharts 的初始化与销毁过程。 --- #### 在父组件中注册并使用 Chart 组件 编辑父组件(例如 App.vue),导入刚刚创建的 `Chart.vue` 文件,并将其注册为子组件。 ```vue <template> <div id="app"> <h1>Vue2ECharts 集成示例</h1> <Chart /> </div> </template> <script> import Chart from './components/Chart.vue'; // 导入自定义的 Chart 组件 export default { name: 'App', components: { Chart, }, }; </script> <style> /* 全局样式可以放在这里 */ body { font-family: Arial, sans-serif; } </style> ``` 这样就完成了整个集成流程,在页面加载时即可看到渲染好的 ECharts 图形[^1]。 --- #### 按需引入 ECharts 模块(优化性能) 如果希望减少打包体积,可以选择按需引入所需的 ECharts 功能模块而非整体库。例如仅加载折线图所需的部分: ```javascript // 替代完整引入方式 // import * as echarts from 'echarts'; import echarts from 'echarts/lib/echarts'; import 'echarts/lib/chart/bar'; // 加载柱状图模块 import 'echarts/lib/component/title'; // 加载标题模块 import 'echarts/lib/component/tooltip'; // 加载提示框模块 import 'echarts/lib/component/legend'; // 加载图例模块 ``` 这种方式能够显著降低最终构建包的大小,适用于生产环境下的性能优化需求[^1]。 --- ### 注意事项 - 如果遇到跨域请求数据的情况,请确保服务器端支持 CORS 请求。 - 使用动态更新的数据时,可通过监听事件重新调用 `setOption()` 方法刷新视图。 - 对于复杂的交互场景,建议深入研究官方文档中的 API 接口说明。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值