Element中如何使用ECharts

蜗牛 互联网技术资讯 2022-07-29 21 0

本文小编为大家详细介绍“Element中如何使用ECharts”,内容详细,步骤清晰,细节处理妥当,希望这篇“Element中如何使用ECharts”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    一、引入ECharts

    1、直接引入echarts (安装echarts项目依赖)

    npm install echarts --save

    2、全局引入 (我们安装完成之后,可以在main.js中全局引入 echarts)

    import echarts from "echarts";
    Vue.prototype.$echarts = echarts;

    3、我们可以将Echar封装成组件的形式,方便调用

    封装在组件中:封装成 Echarts.vue 文件放在ElementUI前端框架中

    <template>
      <div ref="chartDom" ></div>
    </template>
    
    <script>
    import * as echarts from 'echarts';
    import debounce from "lodash/debounce";
    import { addListener, removeListener} from "resize-detector";
    
    export default {
      props: {
        option: {
          type: Object,
          default: ()=> {}
        }
      },
      watch: {
        // option(val) {
        //   this.chart.setOption(val);
        // },
        option: {
          handler(val) {
            this.chart.setOption(val);
          },
          deep: true
        }
      },
      created() {
        this.resize = debounce(this.resize, 300);
      },
      mounted() {
        this.renderChart();
        addListener(this.$refs.chartDom, this.resize);
      },
      beforeDestroy() {
        removeListener(this.$refs.chartDom, this.resize);
        this.chart.dispose();
        this.chart = null;
      },
      methods:{
        resize(){
          this.chart.resize();
        },
        renderChart() {
          this.chart = echarts.init(this.$refs.chartDom);
          this.chart.setOption(this.option);
        }
      },
    }
    </script>
    <style>
    </style>

    4、此时我们可以通过Echart官网引入我们需要的图

    例如:以所选的折柱混合图为例

    Element中如何使用ECharts  element 第1张

    引入(需要引入Echarts刚刚封装好的组件)

    从Echart官网获取对应图的代码

    Element中如何使用ECharts  element 第2张

    引入代码:

    <template>
        <div>
            <el-row>
              <Echarts :option="option"  />
            </el-row>
      </div>
    </template>
    
    <script>
        
    //引入Echart的包
    import Echarts from "../../components/charts/Echarts";       
    export default {
      components:{
        Echarts,
      },
      data(){
        return{
          option:{
      		tooltip: {
        	trigger: 'axis',
        	axisPointer: {
          	type: 'cross',
          	crossStyle: {
            color: '#999'
          }
        }
      },
      toolbox: {
        feature: {
          dataView: { show: true, readOnly: false },
          magicType: { show: true, type: ['line', 'bar'] },
          restore: { show: true },
          saveAsImage: { show: true }
        }
      },
      legend: {
        data: ['Evaporation', 'Precipitation', 'Temperature']
      },
      xAxis: [
        {
          type: 'category',
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
          axisPointer: {
            type: 'shadow'
          }
        }
      ],
      yAxis: [
        {
          type: 'value',
          name: 'Precipitation',
          min: 0,
          max: 250,
          interval: 50,
          axisLabel: {
            formatter: '{value} ml'
          }
        },
        {
          type: 'value',
          name: 'Temperature',
          min: 0,
          max: 25,
          interval: 5,
          axisLabel: {
            formatter: '{value} °C'
          }
        }
      ],
      series: [
        {
          name: 'Evaporation',
          type: 'bar',
          tooltip: {
            valueFormatter: function (value) {
              return value + ' ml';
            }
          },
          data: [
            2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
          ]
        },
        {
          name: 'Precipitation',
          type: 'bar',
          tooltip: {
            valueFormatter: function (value) {
              return value + ' ml';
            }
          },
          data: [
            2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
          ]
        },
        {
          name: 'Temperature',
          type: 'line',
          yAxisIndex: 1,
          tooltip: {
            valueFormatter: function (value) {
              return value + ' °C';
            }
          },
          data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
        }
      ]
    };
      },
      created: function () {
    
      },
      methods:{
          
      }
    }
    </script>
    <style scoped>
    </style>

    二、效果展示

    Element中如何使用ECharts  element 第3张

    读到这里,这篇“Element中如何使用ECharts”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注蜗牛博客行业资讯频道。

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    评论