如何在vue中使用echarts(超级超级简单)

首先你先下载echarts

npm install echarts --save

在vue中引入(全局引入) 

在main.js文件中引入
 

import * as echarts from "echarts";

Vue.prototype.$echarts = echarts;

然后在components文件夹下创一个文件作为你的组件文件

 然后你在这个文件里面写基础的代码架构

<template>
  
</template>

<script>
export default {

}
</script>

<style>

</style>

首先你得在template标签下创建一个div根标签  然后template里面任何标签都不需要写!!!!!

<template>
  <div id="main1" style="width: 100%; height: 400px"></div>
</template>

给这个div 起一个id名字  这个名字非常有用  具体有啥用后面给你说   然后给一个样式  为啥要这样写  是为了后面为响应式做准备

接着你在script下面导入echarts  你可以选择全局导入或者局部(选择性)导入

全局导入

import * as echarts from "echarts/core";

局部导入按需导入

// 引入柱状图图表,图表后缀都为 Chart
 import { BarChart } from "echarts/charts";
// // 引入提示框,标题,直角坐标系,数据集,内置数据转换器组件,组件后缀都为 Component
 import {
   TitleComponent,
   TooltipComponent,
   GridComponent,
   DatasetComponent,
   TransformComponent,
 } from "echarts/components";
// // 标签自动布局、全局过渡动画等特性
import { LabelLayout, UniversalTransition } from "echarts/features";
// 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
import { CanvasRenderer } from "echarts/renderers";

你导入后还得使用

在export default里面的create钩子里写

created() {
    echarts.use([
      TitleComponent,
      TooltipComponent,
      GridComponent,
      DatasetComponent,
      TransformComponent,
      BarChart,
      LabelLayout,
      UniversalTransition,
      CanvasRenderer,
    ]);
  },

接下来最重要的来了  到底怎么出效果

在mounted钩子里面写

 mounted() {
    var chartDom = document.getElementById("main1");   //获取id节点
    var myChart = echarts.init(chartDom);          //初始化//
    function resizeChart() {                     //这里是让他加载的时候获取div的宽和高
      myChart.resize();
    }
    window.addEventListener("resize", resizeChart);
    resizeChart();



//接下来的东西你直接cv官网上的代码就行    简单的表格直接cv    复杂的你需要查一下需要什么插件再进行引入
    let option = {
      legend: {},
      tooltip: {
        trigger: "axis",
        showContent: false,
      },
      dataset: {
        source: [
          ["product", "2012", "2013", "2014", "2015", "2016", "2017"],
          ["Milk Tea", 56.5, 82.1, 88.7, 70.1, 53.4, 85.1],
          ["Matcha Latte", 51.1, 51.4, 55.1, 53.3, 73.8, 68.7],
          ["Cheese Cocoa", 40.1, 62.2, 69.5, 36.4, 45.2, 32.5],
          ["Walnut Brownie", 25.2, 37.1, 41.2, 18, 33.9, 49.1],
        ],
      },
      xAxis: { type: "category" },
      yAxis: { gridIndex: 0 },
      grid: { top: "55%" },
      series: [
        {
          type: "line",
          smooth: true,
          seriesLayoutBy: "row",
          emphasis: { focus: "series" },
        },
        {
          type: "line",
          smooth: true,
          seriesLayoutBy: "row",
          emphasis: { focus: "series" },
        },
        {
          type: "line",
          smooth: true,
          seriesLayoutBy: "row",
          emphasis: { focus: "series" },
        },
        {
          type: "line",
          smooth: true,
          seriesLayoutBy: "row",
          emphasis: { focus: "series" },
        },
        {
          type: "pie",
          id: "pie",
          radius: "30%",
          center: ["50%", "25%"],
          emphasis: {
            focus: "self",
          },
          label: {
            formatter: "{b}: {@2012} ({d}%)",
          },
          encode: {
            itemName: "product",
            value: "2012",
            tooltip: "2012",
          },
        },
      ],
    };
    myChart.on("updateAxisPointer", function (event) {
      const xAxisInfo = event.axesInfo[0];
      if (xAxisInfo) {
        const dimension = xAxisInfo.value + 1;
        myChart.setOption({
          series: {
            id: "pie",
            label: {
              formatter: "{b}: {@[" + dimension + "]} ({d}%)",
            },
            encode: {
              value: dimension,
              tooltip: dimension,
            },
          },
        });
      }
    });
    myChart.setOption(option);
  },

然后就写完了  再把这个组件引到你的页面中,后面的怎么引就不教你们了

最后把全部代码给你们展示一下

<template>
  <div id="main1" style="width: 100%; height: 400px"></div>
</template>

<script>
// 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。
import * as echarts from "echarts/core";
// 引入柱状图图表,图表后缀都为 Chart
// import { BarChart } from "echarts/charts";
// // 引入提示框,标题,直角坐标系,数据集,内置数据转换器组件,组件后缀都为 Component
// import {
//   TitleComponent,
//   TooltipComponent,
//   GridComponent,
//   DatasetComponent,
//   TransformComponent,
// } from "echarts/components";
// // 标签自动布局、全局过渡动画等特性
// import { LabelLayout, UniversalTransition } from "echarts/features";
// // 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
// import { CanvasRenderer } from "echarts/renderers";
export default {
  // created() {
  //   echarts.use([
  //     TitleComponent,
  //     TooltipComponent,
  //     GridComponent,
  //     DatasetComponent,
  //     TransformComponent,
  //     BarChart,
  //     LabelLayout,
  //     UniversalTransition,
  //     CanvasRenderer,
  //   ]);
  // },
  mounted() {
    var chartDom = document.getElementById("main1");
    var myChart = echarts.init(chartDom);
    function resizeChart() {
      myChart.resize();
    }
    window.addEventListener("resize", resizeChart);
    resizeChart();
    let option = {
      legend: {},
      tooltip: {
        trigger: "axis",
        showContent: false,
      },
      dataset: {
        source: [
          ["product", "2012", "2013", "2014", "2015", "2016", "2017"],
          ["Milk Tea", 56.5, 82.1, 88.7, 70.1, 53.4, 85.1],
          ["Matcha Latte", 51.1, 51.4, 55.1, 53.3, 73.8, 68.7],
          ["Cheese Cocoa", 40.1, 62.2, 69.5, 36.4, 45.2, 32.5],
          ["Walnut Brownie", 25.2, 37.1, 41.2, 18, 33.9, 49.1],
        ],
      },
      xAxis: { type: "category" },
      yAxis: { gridIndex: 0 },
      grid: { top: "55%" },
      series: [
        {
          type: "line",
          smooth: true,
          seriesLayoutBy: "row",
          emphasis: { focus: "series" },
        },
        {
          type: "line",
          smooth: true,
          seriesLayoutBy: "row",
          emphasis: { focus: "series" },
        },
        {
          type: "line",
          smooth: true,
          seriesLayoutBy: "row",
          emphasis: { focus: "series" },
        },
        {
          type: "line",
          smooth: true,
          seriesLayoutBy: "row",
          emphasis: { focus: "series" },
        },
        {
          type: "pie",
          id: "pie",
          radius: "30%",
          center: ["50%", "25%"],
          emphasis: {
            focus: "self",
          },
          label: {
            formatter: "{b}: {@2012} ({d}%)",
          },
          encode: {
            itemName: "product",
            value: "2012",
            tooltip: "2012",
          },
        },
      ],
    };
    myChart.on("updateAxisPointer", function (event) {
      const xAxisInfo = event.axesInfo[0];
      if (xAxisInfo) {
        const dimension = xAxisInfo.value + 1;
        myChart.setOption({
          series: {
            id: "pie",
            label: {
              formatter: "{b}: {@[" + dimension + "]} ({d}%)",
            },
            encode: {
              value: dimension,
              tooltip: dimension,
            },
          },
        });
      }
    });
    myChart.setOption(option);
  },
};
</script>

<style>
</style>

最终效果

 他是随着你的屏幕宽度自适应的、

最后一定要知道你用的echarts版本是多少,版本不同变化很大

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值