vue3使用ECharts简单例子

本文介绍了如何在Vue应用中通过ES6语法导入并使用ECharts库,展示了如何按需引入BarChart和LineChart组件,配置了基本的柱状图和线图实例,包括x轴和y轴数据、标题、提示框和事件监听。

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

直接参考官网[ECharts](https://echarts.apache.org/handbook/zh/basics/import)
示例单个组件按需引入使用:(需要全局注册的根据es6写法自行引入全局)
版本: "echarts": "^5.2.0",
<template>
  <!-- h5页面显示 -->
  <div id="echart-box"></div>
</template>
<script>
// 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。
import * as echarts from 'echarts/core';
// 引入柱状图图表,图表后缀都为 Chart
import { BarChart, LineChart } from 'echarts/charts';
// 引入提示框,标题,直角坐标系组件,组件后缀都为 Component
import {
  TooltipComponent,
  TitleComponent,
  GridComponent
} from 'echarts/components';
// 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
import { CanvasRenderer } from 'echarts/renderers';
// 注册必须的组件
echarts.use([
  TitleComponent,
  TooltipComponent,
  GridComponent,
  BarChart,
  LineChart,
  CanvasRenderer
]);
import { onMounted, reactive } from 'vue';

setup(){
	// 图标的参数信息 可查询官网看例子  或者可以直接复制官网的option过来直接展示
    let option = reactive({
      xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        name: '星期几'
      },
      yAxis: [
        {
          type: 'value',
          name: 'test'
          // 百分比显示y轴
          // min: 0,
          // max: 100,
          // axisLabel: {
          //   formatter: '{value} %'
          // }
        },
        {
          type: 'value',
          name: 'test'
          // 百分比显示y轴
          // min: 0,
          // max: 100,
          // axisLabel: {
          //   formatter: '{value} %'
          // }
        }
      ],
      series: [
        {
          // 在 ECharts 中,我们使用字符串 '-' 表示空数据
          data: [10, 10, '-', 15, 10, 5, 35],
          type: 'line' // bar 柱形图  line 折线图
          // smooth: true // 平滑曲线
        }
      ],
      title: {
        text: '测试echart(标题)',
        // subtext: '子标题',
        textStyle: {
          fontSize: 22,
          fontWeight: 'bold', //样式
          color: 'red'
        },
        subtextStyle: {
          fontSize: 16,
          color: '#000'
        }
      },
      //提示框取默认值,即鼠标移动到柱状图会显示内容
      tooltip: {
        trigger: 'axis', //触发类型;轴触发,axis则鼠标hover到一条柱状图显示全部数据,item则鼠标hover到折线点显示相应数据,
        axisPointer: {
          type: 'line', //默认为line,line直线,cross十字准星,shadow阴影
          lineStyle: {
            color: 'red'
          }
        }
      }
    });
   onMounted(() => {
      // 接下来的使用,初始化图表,设置配置项
      let echartBox = document.getElementById('echart-box');
      let myChart = echarts.init(echartBox);
      myChart.setOption(option);
      // 绑定事件 都是小写
      myChart.on('click', function (params) {
        // 控制台打印数据的名称
        console.log(params);
      });
    });
    return {};
}
</script>
Vue3使用Echarts的示例代码如下: ```javascript <template> <div id="app"> <div ref="chart" style="width: 600px; height: 400px;"></div> </div> </template> <script> import { onMounted, ref } from &#39;vue&#39;; import * as echarts from &#39;echarts&#39;; export default { name: &#39;App&#39;, setup() { const chartRef = ref(null); onMounted(() => { const myChart = echarts.init(chartRef.value); const option = { title: { text: &#39;柱状图示例&#39;, left: &#39;center&#39;, }, xAxis: { type: &#39;category&#39;, data: [&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;], }, yAxis: { type: &#39;value&#39;, }, series: [ { data: [100, 80, 120, 90, 110], type: &#39;bar&#39;, }, ], }; myChart.setOption(option); }); return { chartRef, }; }, }; </script> <style> #app { text-align: center; } </style> ``` 在这个示例代码中,我们在Vue3的`setup`函数中使用了`onMounted`钩子函数,在Vue组件挂载后执行初始化Echarts的操作。通过引入`echarts`库,我们可以在`ref`中存储一个对chart DOM元素的引用,并在`onMounted`中使用`echarts.init`方法初始化图表。然后,我们可以通过配置`option`对象来定义图表的样式和数据,最后使用`myChart.setOption`方法将配置应用到图表中。这个例子展示了一个简单的柱状图示例,x轴表示类别,y轴表示数值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [在Vue使用echarts的实例代码(3种图)](https://download.youkuaiyun.com/download/weixin_38527987/12777003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [vue使用echarts例子](https://blog.youkuaiyun.com/weixin_42464106/article/details/127552998)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值