方式一、直接引入echarts

先 npm 安装 echarts

  1. npm install echarts --save
  1. // main.js
  2. import myCharts from './comm/js/myCharts.js'
  3. Vue.use(myCharts)
  1. // myCharts.js
  2. /**
  3. * 各种画echarts图表的方法都封装在这里
  4. * 注意:这里echarts没有采用按需引入的方式,只是为了方便学习
  5. */
  6.  
  7. import echarts from 'echarts'
  8. const install = function(Vue) {
  9. Object.defineProperties(Vue.prototype, {
  10. $chart: {
  11. get() {
  12. return {
  13. //画一条简单的线
  14. line1: function (id) {
  15. this.chart = echarts.init(document.getElementById(id));
  16. this.chart.clear();
  17.  
  18. const optionData = {
  19. xAxis: {
  20. type: 'category',
  21. data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  22. },
  23. yAxis: {
  24. type: 'value'
  25. },
  26. series: [{
  27. data: [820, 932, 901, 934, 1290, 1330, 1320],
  28. type: 'line',
  29. smooth: true
  30. }]
  31. };
  32.  
  33. this.chart.setOption(optionData);
  34. },
  35. }
  36. }
  37. }
  38. })
  39. }
  40.  
  41. export default {
  42. install
  43. }
  1. // helloWorld.vue
  2. <template>
  3. <div class="hello">
  4. <div id="chart1"></div>
  5. </div>
  6. </template>
  7.  
  8. <script>
  9. export default {
  10. name: 'HelloWorld',
  11. data () {
  12. return {
  13. }
  14. },
  15. mounted() {
  16. this.$chart.line1('chart1');
  17. }
  18. }
  19. </script>
  20.  
  21. <style scoped>
  22. #chart1 {
  23. width: 300px;
  24. height: 300px;
  25. }
  26. </style>

方式二、使用vue-echarts

先 npm 安装 vue-echarts

  1. npm install vue-echarts --save

除了全量引用echarts,我们还可以采用按需引入的方式

  1. // main.js
  2. import ECharts from 'vue-echarts/components/ECharts'
  3. import 'echarts/lib/chart/line'
  4. Vue.component('chart', ECharts)
  1. // helloWorld.vue
  2. <template>
  3. <div class="hello">
  4. <chart ref="chart1" :options="orgOptions" :auto-resize="true"></chart>
  5. </div>
  6. </template>
  7.  
  8. <script>
  9. export default {
  10. name: 'HelloWorld',
  11. data () {
  12. return {
  13. orgOptions: {},
  14. }
  15. },
  16. mounted() {
  17. this.orgOptions = {
  18. xAxis: {
  19. type: 'category',
  20. data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  21. },
  22. yAxis: {
  23. type: 'value'
  24. },
  25. series: [{
  26. data: [820, 932, 901, 934, 1290, 1330, 1320],
  27. type: 'line',
  28. smooth: true
  29. }]
  30. }
  31. }
  32. }
  33. </script>

注意: 图表自适应 :auto-resize="true" 偶尔不起作用,可以试试 添加属性 autoresize,如

  1. <template>
  2. <div class="hello">
  3. <chart
  4. ref="chart1"
  5. :options="orgOptions"
  6. autoresize>
  7. </chart>
  8. </div>
  9. </template>

Vue echarts的更多相关文章

  1. Vue Echarts 饼图设置默认选中一个

    Vue Echarts 饼图设置默认选中一个 myChart.setOption(data) // data伟echarts所需要传入的参数,就是配置参数最多的那个玩意 myChart.dispatc ...

  2. vue echarts 遇到的bug之一 无法渲染的问题

    图表示这样的 页面上有很多个图表,由于没有查询按钮,就只是点击发送ajax数据,所以把所有图表的方法放在updated中, 功能是实现了没问题,但是加载页面的时候会发送很多的ajax请求,而且点击修改 ...

  3. vue+echarts 动态绘制图表以及异步加载数据

    前言 背景:vue写的后台管理,需要将表格数据绘制成图表(折线图,柱状图),图表数据都是通过接口请求回来的. 安装 cnpm install echarts --s (我这里用了淘宝镜像,不知道同学自 ...

  4. vue Echarts 柱状图点击事件

    drawBar(){ let that = this; let chart = this.$echarts.init(document.getElementById('bar-graph')); le ...

  5. vue echarts map的使用,页面多图动态自适应

    最近在vue中使用echarts时,遇到了一些坑,在此记录一下. 1:echarts map的使用 2:页面多图自适应,只有一个图生效 3:根据设备的dpr,动态的修改了meta标签中的initial ...

  6. vue echarts 动态数据

    安装echarts依赖 npm install echarts -S 或者使用国内的淘宝镜像: 安装 npm install -g cnpm --registry=https://registry.n ...

  7. vue+echarts实现可拖动节点的折现图(支持拖动方向和上下限的设置)

    本篇文档主要是利用echarts实现可拖动节点的折现图,在echarts中找到了一个demo,传送门:https://echarts.baidu.com/examples/editor.html?c= ...

  8. vue echarts vue-echarts组件使用

    1.git地址 https://github.com/ecomfe/vue-echarts 2.使用 (1)安装 npm install vue-echarts --save-dev (2)引入 im ...

  9. vue + eCharts 实现图表展示

    一.首先安装 eCharts 依赖 npm install echarts -S 二.main.js 引入 eCharts 依赖 2.1)在 main.js 中引入 import echarts fr ...

随机推荐

  1. Java服务使用Redis实现分布式全局唯一标识

    此处以SpringBoot为例,示范如何使用Redis构造全局唯一标识. 1. RedisTemplate配置 spring.redis.database = 0 spring.redis.host ...

  2. 测试 ASP.NET Core API Controller

    本文需要您了解ASP.NET Core MVC/Web API, xUnit以及Moq相关知识. 这里有xUnit和Moq的介绍: https://www.cnblogs.com/cgzl/p/917 ...

  3. [Maven]Maven构建可执行的jar包(包含依赖jar包)

    ----------------------------------------------------------------- 原创博文,如需转载请注明出处! 博主:疲惫的豆豆 链接:http:/ ...

  4. 实例分析C程序运行时的内存结构

      先验知识 静态变量存储在静态存储区,局部变量存储在动态存储区(栈),代码存放在代码区 寄存器,EBP指向栈底,ESP指向栈顶,EIP指向正在执行指令的下一条指令,三个寄存器中保存的都是地址,32位 ...

  5. vue项目首屏加载优化实战

    问题 单页面应用的一个问题就是首页加载东西过多,加载时间过长.特别在移动端,单页面应用的首屏加载优化更是绕不开的话题.下面我会写出我在项目中做的一些优化,希望大家能够相互讨论,共同进步. 我的项目vu ...

  6. 微信公众号开发C#系列-7、消息管理-接收事件推送

    1.概述 在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息.其中,某些事件推送在发生后,是允许 ...

  7. SLAM+语音机器人DIY系列:(四)差分底盘设计——5.底盘PID控制参数整定

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  8. 卷积神经网络CNN

    卷积神经网络,在图像识别和自然语言处理中有很大的作用,讲cnn的中文博客也不少,但是个人感觉说的脉络清晰清晰易懂的不多. 无意中看到这篇博客,写的很好,图文并茂.建议英文好的直接去看原文.英文不好的就 ...

  9. Linux系统上安装MySQL(rpm)

    1.准备工作 从MySQL官网上分别下载mysql服务器端于客户端包. 如: MySQL-server-5.5.15-1.linux2.6.x86_64.rpm和MySQL-client-5.5.15 ...

  10. PHP制作个人博客-广告位添加与调用 推荐文章数据调取

    上一节博客的导航我们已经动态调取,这一节我们主讲一下如何根据页面布局,后台添加广告位,及模板上动态调取广告.博客推荐文章的数据调用. 首先我们在云码博客的后台添加10条左右的测试数据,thinkcmf ...