vue 插件 使用 Echarts 创建图表 (转)

在后台管理系统中,图表是一个很普遍的元素。目前常用的图标插件有 charts,  Echartshighcharts。这次将介绍 Echarts 在 Vue 项目中的应用。

一、安装插件

使用 cnpm 安装 Echarts

cnpm install echarts -S

和之前介绍的 axios 类似,echarts 也不能通过 Vue.use() 进行全局调用

通常是在需要使用图表的 .vue 文件中直接引入

import echarts from ‘echarts‘

也可以在 main.js 中引入,然后修改原型链

Vue.prototype.$echarts = echarts 

然后就可以全局使用了

let myChart = this.$echarts.init(document.getElementById(‘myChart‘))

二、创建图表

首先需要在 HTML 中创建图表的容器

需要注意的是,图表的容器必须指定宽高,也就是说 width,height 不能使用百分比,只能用 px

这样确实不够灵活,不过我们可以用 js 来改变 width 和 height,使图表容器能够自适应,具体的实现请往后看

然后在 mounted 中创建图表,具体的配置参考官方文档,这里不再赘述

三、按需引入

上面引入的 echarts 包含了所有图表,但有时候我们只需要一两个基本图表,这时候完整的 echarts 就显得累赘

假如只需要创建一个饼图,那么可以这么做:

  1. // 引入基本模板

  2.  

    let echarts = require(‘echarts/lib/echarts‘)

  3.  

    // 引入饼图组件

  4.  

    require(‘echarts/lib/chart/pie‘)

  5.  

    // 引入提示框和图例组件

  6.  

    require(‘echarts/lib/component/tooltip‘)

  7.  

    require(‘echarts/lib/component/legend‘)

之所以使用 require 而不是 import,是因为 require 可以直接从 node_modules 中查找,而 import 必须把路径写全

可以按需引入的模块列表见 https://github.com/ecomfe/echarts/blob/master/index.js

四、适应容器

上面说过,图表的容器必须固定宽高,这确实是一个比较反人类的设定

为了解决这个问题,需要给图表容器外面再加一个容器,而这个外容器的宽高可以适应页面。上面的 <div class="charts"> 就是这样的外容器

  1. let chartBox = document.getElementsByClassName(‘charts‘)[0]

  2.  

    let myChart = document.getElementById(‘myChart‘)

  3.  

  4.  

    // 用于使chart自适应高度和宽度,通过窗体高宽计算容器高宽

  5.  

    function resizeCharts () {

  6.  

    myChart.style.width = chartBox.style.width + ‘px‘

  7.  

    myChart.style.height = chartBox.style.height + ‘px‘

  8.  

    }

  9.  

    // 设置容器高宽

  10.  

    resizeCharts()

  11.  

  12.  

    let mainChart = echarts.init(myChart)

  13.  

    mainChart.setOption(options)

当页面加载的时候,将外容器的宽高,赋给图表容器

但这只是解决了页面加载时的自适应问题

如果在页面加载之后,仍需要图表自适应宽高,就需要用到 echarts 的媒体查询

转自 https://blog.csdn.net/bbsyi/article/details/77897780

原文地址:https://www.cnblogs.com/zhoujuan/p/11525460.html

时间: 2024-10-10 17:25:53

vue 插件 使用 Echarts 创建图表 (转)的相关文章

echarts创建图表

Echarts是一个图表插件,可以用在做一些统计图 如:折线图 还有柱状图 我们在工作中有时会用到图表来展示数据 我们一起来学学echarts这个图表插件吧^_^ 第一步:下载插件包 下载地址:http://echarts.baidu.com/index.html 下载好后,我们就来开始使用这个插件了 第二步:创建html文档并引入插件的文件 第三步:创建容器,并设置高度 第四步:在新建一个script用来写js代码 第五步:配置文件包的路径(因为后面要使用包里的东西,所以需要先设置路径) 现在

angular结合echarts创建图表

原理: 利用angularjs中的指令(directive)将echarts封装. 步骤: 1.封装函数: app.directive('line', function() { return { scope: { id: "@", legend: "=", item: "=", data: "=" }, restrict: 'E', template: '<div style="height:400px;wid

前端数据可视化插件(一)图表

摘要: 在大数据时代,很多时候我们需要在网页中显示数据统计报表,从而能很直观地了解数据的走向,开发人员很多时候需要使用图表来表现一些数据.随着Web技术的发展,从传统只能依靠于flash.IE的vml,各个浏览器尚不统一的svg,到如今规范统一的canvas.svg为代表的html5技术,表现点.线.面要素的技术已经越来越规范成熟.我把前端数据可视化分为了五种: 图表 图谱 地图 关系图 立体图 我将按照顺序介绍64款前端可视化插件,下面就分享下34款图表插件 amchartsurl: http

vue 插件

UI组件 element ★9305 - 饿了么出品的Vue2的web UI工具套件 Vux ★6802 - 基于Vue和WeUI的组件库 mint-ui ★4776 - Vue 2的移动UI元素 iview ★4458 - 基于 Vuejs 的开源 UI 组件库 Keen-UI ★2363 - 轻量级的基本UI组件合集 vue-material ★2207 - 通过Vue Material和Vue 2建立精美的app应用 muse-ui ★1992 - 三端样式一致的响应式 UI 库 vuet

vue+vuex+axios+echarts画一个动态更新的中国地图

一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china-map # 安装项目依赖 npm install # 安装 vuex npm install vuex --save # 安装 axios npm install axios --save # 安装 ECharts npm install echarts --save 二. 项目结构 ├── ind

vue+node+es6+webpack创建简单vue的demo

闲聊: 小颖之前一直说是写一篇用vue做的简单demo的文章,然而小颖总是给自己找借口,说没时间,这一没时间一下就推到现在了,今天抽时间把这个简单的demo整理下,给大家分享出来,希望对大家也有所帮助. 前期准备: 1.安装node 安装包地址这个里面有两个安装包大家可以根据自己的需求选择安装4.4.4版本或者6.2.0版本,小颖选择的是6.2.0. 2.Atom编辑器,这个大家可以根据自己的喜好选择自己喜欢的编辑器,所以小颖就不发下载链接了,大家有需求的话可以百度下嘻嘻. 目录: 创建项目:

使用chart和echarts制作图表

  前  言 chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库.它可以帮你用不同的方式让你的数据变得可视化.每种类型的图表都有动画效果,并且看上去非常棒,即便是在retina屏幕上.Chart.js基于HTML5 canvas技术,支持所有现代浏览器,并且针对IE7/8提供了降级替代方案.并且它不依赖任何外部工具库,轻量级(压缩之后仅有4.5k),并且提供了加载外部参数的方法. ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上

从零开始编写一个vue插件

title: 从零开始编写一个vue插件 toc: true date: 2018-12-17 10:54:29 categories: Web tags: vue mathjax 写毕设的时候需要一个mathjax编辑器,因此直接写一个插件试一下. 准备账号 进入npm注册账号 初始化项目 vue init webpack-simple mathjax-toolbar cd mathjax-toolbar npm install 得到的项目内的/src结构如下: src/ ├── assets

VUE中使用Echarts绘制柱状图

在main.js中引入echarts import echarts from 'echarts' Vue.prototype.$echarts = echarts 在相应的vue中导入echarts import echarts from 'echarts'; 实现柱状图显示 <div style="width: 100%;height: 50%;border:1px solid rgb(180,180,180);top: 0px" id="echartss"