在Vue项目里使用ECharts图标库

ECharts是一个JavaScript实现的开源图标库,能兼容绝大多数浏览器(IE8+),底层依赖ZRender(一个轻量级的Canvas类库),能高度个性化定制数据可视化图标。

ECharts官网地址:https://echarts.apache.org/v4/zh/feature.html

一、在Vue项目下安装:

npm install echarts --save

二、创建一个Chart.vue。在ECharts的官网 —— 文档里找一个案例代码。复制到Chart.vue文件里。

<template>
    <div ref="chartDom" style="height:100px"></div>
</template>

<script>
import * as echarts from 'echarts';

export default {
    mounted(){
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(this.$refs.chartDom);
        // 绘制图表
        myChart.setOption({
            title: {
                text: 'ECharts 入门示例'
            },
            tooltip: {},
            xAxis: {
                data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        });
    }
}
</script>

<style>

</style>

三、在需要使用的页面,通过components的方式申明Chart组件。

<template>
  <div>
    <Chart></Chart>
  </div>
</template>

<script>
import Chart from "../views/Chart.vue";// 要改成自己项目的Chart.vue文件路径

export default {
  components:{
      Chart
  }
};
</script>

四、这个时候打开页面就能显示Echart的图标了。如下图

image.png

但需要注意的是,在使用图标的时候,他会在模版渲染之前就开始渲染,这个时候显示的话会变形。所以我们需要监听DOM容器的变化,DOM变化之后在重新绘制图表。

五、监听DOM变化。

这里我们需要用到一个第三方库resize-detector,先安装。

npm install resize-detector --save

但这种监听在浏览器变动的时候会触发多次,为了优化性能,我们还需要使用lodash。

npm install lodash --save

编码如下:

<template>
  <div ref="chartDom" style="height: 400px"></div>
</template>

<script>
import * as echarts from "echarts";
import { addListener, removeListener } from "resize-detector";
import debounce from "lodash/debounce";

export default {
  created() {
    this.resize = debounce(this.resize, 300);
  },
  mounted() {
    // 基于准备好的dom,初始化echarts实例
    this.chart = echarts.init(this.$refs.chartDom);
    // 添加一个监听
    addListener(this.$refs.chartDom, this.resize);
    // 绘制图表
    this.chart.setOption({
      title: {
        text: "ECharts 入门示例",
      },
      tooltip: {},
      xAxis: {
        data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
      },
      yAxis: {},
      series: [
        {
          name: "销量",
          type: "bar",
          data: [5, 20, 36, 10, 10, 20],
        },
      ],
    });
  },
  beforeDestroy() {
    // 销毁监听和对象
    removeListener(this.$refs.chartDom, this.resize);
    this.chart.dispose();
    this.chart = null;
  },
  methods: {
    resize() {
      console.log("resize()");//查看调用了多少次
      this.chart.resize();
    },
  },
};
</script>

<style></style>

ok,现在基本就搞完了。

ps: 如果报格式警告,那就安装一个exlint插件,然后一键改下格式就好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Vue 可以很方便地集成 Echarts,以下是一个简单的例子: 1. 安装 Echarts:可以通过 npm 安装 Echarts,命令如下: ``` npm install echarts --save ``` 2. 在 Vue 中引入 Echarts:在组件中使用 Echarts,需要在 Vue 中引入 Echarts,可以在 `main.js` 中全局引入: ```javascript import echarts from 'echarts' Vue.prototype.$echarts = echarts ``` 3. 在组件中使用 Echarts:在组件中使用 Echarts,可以通过在 `template` 中添加一个 `div` 元素作为图表容器,然后在 `mounted` 钩子中使用 `this.$echarts` 创建图表实例并设置相关配置。 ```vue <template> <div ref="chart" style="width: 100%; height: 500px;"></div> </template> <script> export default { name: 'EchartsDemo', mounted() { const chart = this.$echarts.init(this.$refs.chart) chart.setOption({ // 图表配置项 xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [820, 932, 901, 934, 1290, 1330, 1320], type: 'line' }] }) } } </script> ``` 这样就可以在 Vue使用 Echarts 了。当然,Echarts 还有很多高级的功能和配置项,可以查看 Echarts 的官方文档进行学习和实践。 ### 回答2: Vue使用echarts的过程主要分为以下几个步骤: 1. 引入echarts库:在Vue项目的入口文件中,使用import语句引入echarts库。例如:`import echarts from 'echarts'`。 2. 创建echarts实例:在Vue组件中,可以通过在`mounted`生命周期钩子函数中创建echarts实例。例如: ``` mounted() { this.initChart(); }, methods: { initChart() { const chartDom = document.getElementById('chart'); this.chartInstance = echarts.init(chartDom); } } ``` 3. 定义配置项:在Vue组件中,可以定义echarts的配置项,包括图表类型、标题、数据等。例如: ``` data() { return { chartOptions: { title: { text: '柱状图示例' }, xAxis: { data: ['A', 'B', 'C', 'D', 'E'] }, yAxis: {}, series: [{ type: 'bar', data: [10, 20, 30, 40, 50] }] } } } ``` 4. 渲染图表:通过调用echarts实例的`setOption`方法,将配置项应用到echarts实例中,并渲染出图表。例如: ``` mounted() { // ... this.renderChart(); }, methods: { renderChart() { this.chartInstance.setOption(this.chartOptions); } } ``` 5. 监听窗口变化:在Vue组件中,可以通过监听窗口变化的事件,使图表能够自适应窗口大小变化。例如: ``` mounted() { // ... window.addEventListener('resize', this.resizeChart); }, methods: { resizeChart() { this.chartInstance.resize(); } } ``` 通过以上步骤,我们就可以在Vue项目使用echarts来进行数据可视化的展示了。 ### 回答3: Vue使用Echarts是通过将ECharts引入Vue项目来实现数据可视化的需求。Echarts是一款基于JavaScript的数据可视化图表库,具有丰富的图标类型和交互功能。 首先,我们需要在Vue项目中安装Echarts。可以使用npm或yarn命令运行以下安装命令: ``` npm install echarts ``` 或者 ``` yarn add echarts ``` 安装完成后,我们需要在需要使用Echarts的组件中引入Echarts库: ```javascript import echarts from 'echarts' ``` 接下来,我们可以在Vue组件的methods中定义一个渲染函数,在该函数中使用Echarts创建一个图表实例,并且传入数据和配置参数: ```javascript methods: { renderChart() { // 获取DOM节点 const chartContainer = this.$refs.chartContainer; // 创建图表实例 const chart = echarts.init(chartContainer); // 设置图表配置 const option = { // 配置项 }; // 设置数据 const data = { // 数据项 }; // 渲染图表 chart.setOption(option); } } ``` 最后,在Vue组件的mounted钩子中调用渲染函数,使图表能够在Vue组件加载后进行渲染: ```javascript mounted() { this.renderChart(); } ``` 这样就可以在Vue组件中使用Echarts实现数据可视化,根据自己的需求来修改图表的配置和数据项,以展示出符合要求的图表效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石云升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值