首页 > 其他分享 >在Vue项目中使用Echarts : Echarts中的常用组件--堆叠面积图

在Vue项目中使用Echarts : Echarts中的常用组件--堆叠面积图

时间:2022-10-18 15:57:05浏览次数:56  
标签:Vue name -- type focus echarts series data Echarts

一、安装并全局引入

1、通过npm获取echarts

npm install echarts --save

2、在 main.js 中添加下面两行代码

  • 在main.js中引入 5.0以下版本 import echarts from 'echarts '
  • 5.0以上版本用这个引入 import * as echarts from ‘echarts’
    // 原导入方式
    import echarts from 'echarts'
    
    // 原导入方式 => 现导入方式
    import * as echarts from 'echarts'
    Vue.prototype.$echarts = echarts;

二,组件中使用echarts

1,引入echarts

// 第一步引入echarts
// const echarts = require('echarts');
import * as echarts from 'echarts'

2,挂在div视图区

<!-- 2.第二步 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 850px;height:400px;"></div>

3,基于准备好dom,初始化echarts实例

// 第三步 3. 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'))

4,准备数据和配置项

// 4.准备数据和配置项
myChart.setOption({
})
   let  option = {
      title: {
         text: '移动媒体曝光率'
      },
      tooltip: {
         trigger: 'axis',
         axisPointer: {
            type: 'cross',
            label: {
               backgroundColor: '#6a7985'
            }
         }
      },
      legend: {
         data: ['邮箱', '手机', '平台', '广告', '微博']
      },
      toolbox: {
         feature: {
            saveAsImage: {}
         }
      },
      grid: {
         left: '3%',
         right: '4%',
         bottom: '3%',
         containLabel: true
      },
      xAxis: [
         {
            type: 'category',
            boundaryGap: false,
            data: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']
         }
      ],
      yAxis: [
         {
            type: 'value'
         }
      ],
      series: [
         {
            name: '邮箱',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
               focus: 'series'
            },
            data: [120, 132, 101, 134, 90, 230, 210]
         },
         {
            name: '手机',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
               focus: 'series'
            },
            data: [220, 182, 191, 234, 290, 330, 310]
         },
         {
            name: '平台',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
               focus: 'series'
            },
            data: [150, 232, 201, 154, 190, 330, 410]
         },
         {
            name: '广告',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
               focus: 'series'
            },
            data: [320, 332, 301, 334, 390, 330, 320]
         },
         {
            name: '微博',
            type: 'line',
            stack: 'Total',
            label: {
               show: true,
               position: 'top'
            },
            areaStyle: {},
            emphasis: {
               focus: 'series'
            },
            data: [820, 932, 901, 934, 1290, 1330, 1320]
         }
      ]
   };

5,调用-展示数据

// 5. 展示数据
myChart.setOption(option)

组件源代码

组件源代码
 <template>
<div>
   <!-- 面包屑导航区 -->
   <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/Welcome' }">首页</el-breadcrumb-item>
      <el-breadcrumb-item>数据统计</el-breadcrumb-item>
      <el-breadcrumb-item>数据报表</el-breadcrumb-item>
   </el-breadcrumb>
<!--   卡片视图区-->
   <el-card>
      <!-- 2.第二步 为ECharts准备一个具备大小(宽高)的Dom -->
      <div id="main" style="width: 850px;height:400px;"></div>
   </el-card>
</div>
</template>

<script>
// 第一步引入echarts
// const echarts = require('echarts');
import * as echarts from 'echarts'
// Vue.prototype.$echarts = echarts;
export default {
   data(){
      return {
      }
   },
   created() {
   },
   // mounted周期函数里页面上的元素渲染完毕了
   mounted() {
      // 第三步 3. 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById('main'))
      // 4.准备数据和配置项
      myChart.setOption({
      })
         let  option = {
            title: {
               text: '移动媒体曝光率'
            },
            tooltip: {
               trigger: 'axis',
               axisPointer: {
                  type: 'cross',
                  label: {
                     backgroundColor: '#6a7985'
                  }
               }
            },
            legend: {
               data: ['邮箱', '手机', '平台', '广告', '微博']
            },
            toolbox: {
               feature: {
                  saveAsImage: {}
               }
            },
            grid: {
               left: '3%',
               right: '4%',
               bottom: '3%',
               containLabel: true
            },
            xAxis: [
               {
                  type: 'category',
                  boundaryGap: false,
                  data: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']
               }
            ],
            yAxis: [
               {
                  type: 'value'
               }
            ],
            series: [
               {
                  name: '邮箱',
                  type: 'line',
                  stack: 'Total',
                  areaStyle: {},
                  emphasis: {
                     focus: 'series'
                  },
                  data: [120, 132, 101, 134, 90, 230, 210]
               },
               {
                  name: '手机',
                  type: 'line',
                  stack: 'Total',
                  areaStyle: {},
                  emphasis: {
                     focus: 'series'
                  },
                  data: [220, 182, 191, 234, 290, 330, 310]
               },
               {
                  name: '平台',
                  type: 'line',
                  stack: 'Total',
                  areaStyle: {},
                  emphasis: {
                     focus: 'series'
                  },
                  data: [150, 232, 201, 154, 190, 330, 410]
               },
               {
                  name: '广告',
                  type: 'line',
                  stack: 'Total',
                  areaStyle: {},
                  emphasis: {
                     focus: 'series'
                  },
                  data: [320, 332, 301, 334, 390, 330, 320]
               },
               {
                  name: '微博',
                  type: 'line',
                  stack: 'Total',
                  label: {
                     show: true,
                     position: 'top'
                  },
                  areaStyle: {},
                  emphasis: {
                     focus: 'series'
                  },
                  data: [820, 932, 901, 934, 1290, 1330, 1320]
               }
            ]
         };
      // 5. 展示数据
      myChart.setOption(option)
      },
   methods: {

   }
}
</script>

<style lang="less" scoped>

</style>

效果图:

标签:Vue,name,--,type,focus,echarts,series,data,Echarts
From: https://www.cnblogs.com/mahmud/p/16802819.html

相关文章

  • .net core 微信支付-----订单查询
       微信支付这一块,本来打算一起写完呢,谁知道计划赶不上变化,由于一些原因没有时间写,这次接着把后续写完。上次说微信下单的时候,我就说过,威胁你支付这一块有人家现场封......
  • 时间同步
    时间同步命令Crontab时间同步方式:选一台机器,作为时间服务器,所有的机器与这台机器进行定时的同步,如每隔十分钟,同步一次时间。定时如何实现?通过crontab命令实现。下面讲......
  • PHP 安装
    2)下载安装PHP下载地址:https://windows.php.net/download  注意:下载完成,解压后就意味着安装成功。3)验证安装成功win+R调出命令行终端,进入到PHP安装目录,输入php-v......
  • Git安装配置
    安装官网下载安装:Git官网下载慢?淘宝镜像地址:npmmirror.com下滑,选择最新版,后选择自己电脑需要的对应版本选择安装位置后无脑下一步安装卸载?清理环境变量,用系统自带......
  • React组件设计模式-纯组件,函数组件,高阶组件
    一、组件(1)函数组件如果你想写的组件只包含一个render方法,并且不包含state,那么使用函数组件就会更简单。我们不需要定义一个继承于React.Component的类,我们可以定......
  • 云原生实战-基于K8s+Docker+DevOps+Jenkins
    云原生实战-基于K8s+Docker+DevOps+Jenkins之前自己的项目开发就搭了个cicd的环境,那时候是在本就小的可怜的服务器上搭了一套jenkins+dockerregistry+docker见......
  • Java反射
    简介Reflection(反射)是Java被视为动态语言的关键。反射机制允许程序在执行期借助ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之......
  • python脚本调用在win和ubuntu下的快捷方式
    以mmdetection工程为例1ubuntu使用sh套py脚本来调用train.sh#!/usr/bin/envbashCONFIG=configs/xx/cfg_1.pyWORK_DIR=train_result/20220825CKPT=train_result/2......
  • Windows Server 2012 搭建Ftp服务器
    WindowsServer2012搭建Ftp服务器一、介绍FTP全称是FileTransferProtocol的简称,是一种文件传输协议。它使用TCP进行传输,客户和服务器建立连接前需要进行一个"三次握手......
  • 异常处理机制
     传统的错误处理机制通过函数的返回值来处理错误。 异常处理的基本语法  异常接口声明 异常类型和生命周期 以下代码中,形参error能够重复出现是因......