【vue 引入echarts】

vue-echarts介绍:https://github.com/ecomfe/vue-echarts/blob/HEAD/README.zh-Hans.md

注意:vue-echarts在使用前要先安装echarts,不要只安装vue-echarts这一个

安装vue-echarts

npm i -S vue-echarts echarts

注意:Vue 2 下使用 vue-echarts,必须还要安装 @vue/composition-api :

npm i -D @vue/composition-api

main.js中全局注册组件

import 'echarts'
import ECharts from 'vue-echarts'
Vue.component('v-chart', ECharts)

基本使用

<template>
   <v-chart :option="option_column" style="height: 400px"></v-chart>
</template>
 
<script>
export default {
  data() {
    return {
      option_column: {
        title: { text: "Column Chart" },
        tooltip: {},
        xAxis: {
          data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
        },
        yAxis: {},
        series: [
          {
            name: "销量",
            type: "bar",
            data: [5, 20, 36, 10, 10, 20],
          },
        ],
      },
    };
  },
};
</script>

自适应屏幕
方式1:autoresize:true 【推荐】

该方式自适应需满足两个条件:

1, 加上autoresize属性。
2, 图表外层需要指定vw单位的宽度,如width:100vw;

<template>
    <div style="width:100vw">
      <v-chart autoresize :option="option_column" style="height: 400px"></v-chart>
    </div>
</template>
 
<script>
export default {
  data() {
    return {
      option_column: {
        title: { text: "Column Chart" },
        tooltip: {},
        xAxis: {
          data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
        },
        yAxis: {},
        series: [
          {
            name: "销量",
            type: "bar",
            data: [5, 20, 36, 10, 10, 20],
          },
        ],
      },
    };
  },
};
</script>
 
<style  scoped lang="scss">
</style>

方式二:给window注册resize监听事件

<!--main-->
<template>
  <div>
    <v-chart
      ref="ref_echart1"
      :option="option_column"
      style="height: 400px"
    ></v-chart>
  </div>
</template>
<script>
export default {
  data() {
    return {
      option_column: {
        tooltip: {},
        xAxis: {
          data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
        },
        yAxis: {},
        series: [
          {
            name: "销量",
            type: "bar",
            data: [5, 20, 36, 10, 10, 20],
          },
        ],
      },
    };
  },
  mounted() {
    window.addEventListener("resize", () => this.$refs?.ref_echart1?.resize());
  },
  methods: {},
};
</script>

配置样式
官网样式:https://echarts.apache.org/zh/download-theme.html

引入Echarts内置样式
Echarts内置了很多样式,在使用时需手动导入指定的样式。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自定义主题样式:
配置主题地址:https://echarts.apache.org/zh/theme-builder.html
在这里插入图片描述
注意这里下载json版本。js版本没有引入成功
在这里插入图片描述
在这里插入图片描述

<!--main-->
<template>
  <div style="width: 400px">
    <v-chart :theme="myEchartStyle" :option="option_column" style="height: 400px"></v-chart>
  </div>
</template>
 
<script>
import myEchartStyle from "@/assets/myEchartStyle.json";
 
export default {
  components: {},
  data() {
    return {
      myEchartStyle,
      option_column: {
        tooltip: {},
        xAxis: {
          data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
        },
        yAxis: {},
        series: [
          {
            name: "销量",
            type: "bar",
            data: [5, 20, 36, 10, 10, 20]
          }
        ]
      }
    };
  },
  props: {},
  created() {},
  mounted() {},
  computed: {},
  methods: {}
};
</script>
 
<style lang="scss" scoped>
</style>

给当前vue页面中的所有图表注册样式:
在这里插入图片描述
在这里插入图片描述

<!--main-->
<template>
  <div style="width: 400px">
    <v-chart :option="option_column" style="height: 400px"></v-chart>
    <v-chart :option="option_column" style="height: 400px"></v-chart>
  </div>
</template>
<script>
import myEchartStyle from "@/assets/myEchartStyle.json";
import { THEME_KEY } from "vue-echarts";
export default {
  components: {},
  provide: {
    [THEME_KEY]: myEchartStyle
  },
  data() {
    return {
      option_column: {
        tooltip: {},
        xAxis: {
          data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
        },
        yAxis: {},
        series: [
          {
            name: "销量",
            type: "bar",
            data: [5, 20, 36, 10, 10, 20]
          }
        ]
      }
    };
  }
};
</script>
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值