知识笔记(九十六)———在vue中使用echarts

1、安装

npm install echarts --save

2、在vue中引入(全局引入)

// 引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts

3、在vue中的使用

需要用到echart的地方先设置一个div的id、宽高

提示:
可以在一个页面中引入多个数据报表模板
使用div进行位置的排版放置

4、模板代码放在哪个位置

重点注意:其中const option = { }就是我们需要引进echart图表的代码


<template>
  <div>
    <div ref="chart" style="width:50%;height:376px"></div>
  </div>

</template>

要在mounted生命周期函数中实例化echarts对象。确保dom元素已经挂载到页面中。

mounted(){
    this.getEchartData()  
    },


   methods: {
    getEchartData() {
      const chart = this.$refs.chart
      if (chart) {
        const myChart = this.$echarts.init(chart)
        const option = {...}
        myChart.setOption(option)
        window.addEventListener("resize", function() {
          myChart.resize()
        })
      }
       this.$on('hook:destroyed',()=>{
         window.removeEventListener("resize", function() {
          myChart.resize();
        });
        })
    }
  }

5、完整的一个vue页面实例:


<template>
  <div>
    <div ref="chart" style="width:50%;height:376px"></div>
    <div ref="chart1" style="width:50%;height:376px"></div>
  </div>

</template>

<script>

  export default {
    data() {

    },
    mounted() {
      this.getEchartData()
      this.getEchartData1()

    },
    methods: {
      getEchartData() {
        const chart = this.$refs.chart
        if (chart) {
          const myChart = this.$echarts.init(chart)
          const option = { legend: {},
            tooltip: {},
            dataset: {
              source: [

                ['订单', 43.3, 85.8],
                ['订单1', 83.1, 73.4],
                ['订单2', 86.4, 65.2],
                ['订单3', 72.4, 53.9],
                ['订单4', 82.4, 53.9],
                ['订单5', 42.4, 53.9],
                ['订单6', 72.4, 53.9],
                ['订单7', 72.4, 53.9]
              ]
            },
            xAxis: { type: 'category' },
            yAxis: {},

            series: [ { type: 'bar' }, { type: 'bar' }]}
          myChart.setOption(option)
          window.addEventListener("resize", function() {
            myChart.resize()
          })
        }
        this.$on('hook:destroyed',()=>{
          window.removeEventListener("resize", function() {
            myChart.resize();
          });
        })
      },
      getEchartData1() {
        const chart1 = this.$refs.chart1
        if (chart1) {
          const myChart = this.$echarts.init(chart1)
          const option = {
            title: {
              text: 'Stacked Line'
            },
            tooltip: {
              trigger: 'axis'
            },
            legend: {
              data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
            },
            grid: {
              left: '3%',
              right: '4%',
              bottom: '3%',
              containLabel: true
            },
            toolbox: {
              feature: {
                saveAsImage: {}
              }
            },
            xAxis: {
              type: 'category',
              boundaryGap: false,
              data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月','八月','九月','十月','十一月','十二月']
            },
            yAxis: {
              type: 'value'
            },
            series: [
              {
                name: 'Email',
                type: 'line',
                stack: 'Total',
                data: [120, 132, 101, 134, 90, 230, 210,120, 132, 101, 134, 90, 230]
              },
              {
                name: 'Union Ads',
                type: 'line',
                stack: 'Total',
                data: [220, 182, 191, 234, 290, 330, 310,220, 182, 191, 234, 290, 330]
              },
              {
                name: 'Video Ads',
                type: 'line',
                stack: 'Total',
                data: [150, 232, 201, 154, 190, 330, 410,150, 232, 201, 154, 190, 330]
              },
              {
                name: 'Direct',
                type: 'line',
                stack: 'Total',
                data: [320, 332, 301, 334, 390, 330, 320,320, 332, 301, 334, 390, 330]
              },
              {
                name: 'Search Engine',
                type: 'line',
                stack: 'Total',
                data: [820, 932, 901, 934, 1290, 1330, 1320,820, 932, 901, 934, 1290, 1330]
              }
            ]

          }
          myChart.setOption(option)
          window.addEventListener("resize", function() {
            myChart.resize()
          })
        }
        this.$on('hook:destroyed',()=>{
          window.removeEventListener("resize", function() {
            myChart.resize();
          });
        })
      },
     
 
    },
    watch: {},
    created() {
    }
  }
</script>



接着去页面中看吧,如有不显示现象请等待下一篇文章...

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Vue使用Echarts非常简单和方便。首先,我们需要安装Echarts的依赖包。可以通过npm或者yarn来安装Echarts。 npm install echarts 或者 yarn add echarts 一旦安装完成,我们可以在Vue组件引入Echarts。首先,在需要使用Echarts的组件,引入Echarts的库。 import echarts from 'echarts' 接下来,在Vue组件的生命周期钩子函数,创建一个Echarts实例并进行配置。 export default { mounted() { // 创建一个 Echarts 实例 const chartContainer = document.getElementById('chart-container') const myChart = echarts.init(chartContainer) // 配置 Echarts myChart.setOption({ // 配置项... }) // 监听窗口变化,自动调整图表尺寸 window.addEventListener('resize', () => { myChart.resize() }) }, } 在这个例子,我们在组件的mounted钩子函数进行Echarts实例的创建。使用document.getElementById('chart-container')获取到父元素的DOM节点,然后用echarts.init()方法来创建Echarts实例。 接下来,在setOption()方法,我们可以配置Echarts的显示项。具体的配置项可以参考Echarts官方文档。在这个配置项,我们可以设置图表的类型、数据源、样式等。 最后,我们监听窗口变化事件,以及时调整图表的尺寸,使其适应屏幕的大小。 以上就是在Vue使用Echarts的基本步骤。通过这种方式,我们可以方便地在Vue项目使用Echarts来展示图表数据。 ### 回答2: 在Vue使用Echarts非常方便。首先,我们需要在项目安装Echarts依赖包。可以通过npm或yarn安装Echarts,比如在终端输入命令:npm install echarts或yarn add echarts。 安装完成后,我们可以在Vue组件引入Echarts,并在其mounted生命周期钩子进行初始化和绘制图表。例如,我们可以在一个柱状图组件使用Echarts: ``` <template> <div id="chart" style="width: 400px; height: 300px;"></div> </template> <script> import echarts from 'echarts'; export default { mounted() { // 初始化图表 const myChart = echarts.init(document.getElementById('chart')); // 定义图表的配置项和数据 const option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar' }] }; // 使用配置项绘制图表 myChart.setOption(option); } }; </script> ``` 在上述例子,我们首先在template定义一个div容器,用于容纳Echarts图表。然后,在script引入echarts模块,并在mounted()生命周期钩子进行图表的初始化和配置。配置项包含x轴、y轴和series数据,我们可以根据具体需求进行自定义。最后,通过调用myChart.setOption(option)方法,将配置项应用到图表,实现图表的绘制。 需要注意的是,我们还可以在Vue组件利用一些生命周期钩子和方法来操作和更新图表,例如在数据发生变化时重新绘制图表。这样,我们就可以简单而快速地在Vue项目使用Echarts了。 ### 回答3: 在Vue使用Echarts是非常方便的。首先,我们需要安装echarts库。可以使用npm或yarn命令来安装echarts。安装完成后,我们可以在main.js文件引入Echarts库。 ```javascript import echarts from 'echarts' Vue.prototype.$echarts = echarts ``` 接下来,在需要使用Echarts图表的组件,我们可以使用`<template>`标签来创建一个容器,并在`mounted`生命周期钩子初始化和绘制Echarts图表。 ```html <template> <div ref="chart" style="width: 400px; height: 400px;"></div> </template> <script> export default { mounted() { this.initChart() }, methods: { initChart() { const chart = this.$echarts.init(this.$refs.chart) const option = { // 在这里设置你想绘制的图表的配置选项 } chart.setOption(option) } } } </script> ``` 注意,我们在`ref`属性给图表容器指定了一个引用名,并在`mounted`钩子使用`$refs`来引用该容器。然后,我们使用`this.$echarts.init`方法初始化图表,并将其挂载到DOM上。 接下来,我们可以在`option`对象设置图表的配置选项,如图表类型、数据、样式等。具体的配置选项请参考Echarts官方文档。 最后,我们使用`chart.setOption(option)`来绘制并更新图表。可以在需要更新图表的时候调用该方法。 以上就是在Vue使用Echarts的基本使用方式。通过这种方式,我们可以在Vue应用轻松使用Echarts来创建各种类型的图表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值