**vue可视化图表 基于Echarts封装好的v-charts**

近期公司又一个新的需求,要做一个订单和销售额统计的项目,需要用到可视化图表来更直观的展示数据。首先我想到的是Echarts,众所周知Echarts是一个应用很广的可视化图表库,用来展示统计数据更合适不过,但是偶然间发现了一个更为方便的图表库,就是我们今天要介绍的v-charts,它是基于Echarts图表库进行了一次封装,让我们可以更好更方便更简单的来展示我们的数据,首先附上他的官方介绍:点击这里

v-charts对于用户很友好,把数据封装成很好的模式,不进让我们更好的来使用它,而且他还完全支持Echarts的所有方法和属性。Echarts有的图表,v-charts都进行了封装。

下面先来一个柱状图:

现附上效果图:

下面是使用方法:

点击这里查看原帖

1.安装依赖

*这里需要说明,由于v-charts是基于Echarts进行封装的,所以我们在安装依赖的时候,需要把Echarts和v-charts都进行安装。*

npm install echarts v-charts --save-dev

2.依赖安装好之后,我们直接引入v-charts即可,我们在main.js中进行引入

import VCharts from 'v-charts'
Vue.use(VCharts)

3.我们在相应的组件中直接使用就可以了,比如说柱状图是ve-histogram,我们直接写标签即可,不需要在创建一个div容器了

<ve-histogram
:data="chartData"
:colors="chartColor"
:legend-visible="true"
:loading="loading"
:data-empty="dataEmpty"
:extend="extend"
:settings="chartSettings">
</ve-histogram>

这里介绍一下我上面用到的几个属性,
data:就是我们要绑定的数据,下面会详细介绍
colors:就是我们图表中每一项对应的颜色
legend-visible:是否显示图例
loading:是否显示loaidng
data-empty:在数据为空的时候,是否显示暂无数据
extend:就是我们自定义的Echarts的原有属性,在v-charts的一些属性满足不了我们的需求的情况下,我们可以配置extend,来直接使用Echarts的optios,来覆盖v-charts的属性。
settings:一些v-charts封装好的设置。

下面就是我们的属性配置了:
在这里需要说明一下,v-charts的无数据和loading的样式是单独的,如果需要这两个需求,我们需要引入css,如果不需要,不引入就行。

import 'v-charts/lib/style.css'
export default {
name: 'VCharts',
data () {
return {
chartSettings: {
xAxisType: 'time',
area: true,
yAxisName: ['订单总数', '订单金额'],
axisSite: {right: ['orderAmount']},
labelMap: {'orderCount': '订单数量', 'orderAmount': '订单金额'}
},
chartData: {
columns: ['date', 'orderCount', 'orderAmount'],
rows: []
},
extend: {
series: {
symbolSize: 10,
label: {
normal: {
show: true
}
}
}
},
chartColor: ['#89dd47', '#3cabf4'],
loading: false,
dataEmpty: false
}
}
created () {
this.getData()
}
methods: {
async getData () {
const res = await getOrderData(})
if (res.data.length === 0) {
this.dataEmpty = true
} else {
this.chartData.rows = res.data.rows
this.dataEmpty = false
}
console.log(res)
},
}
}

上述代码中的getOrderData()方法是我调用的接口方法,如下所示:

// 图表订单和金额
export function getOrderData (res) {
return http.post({
url: base_url + '/order/getOrderData',
data: res
})
}

上述的http.post方法是我封装的axios的post请求方法,篇幅有限,这里不在叙述,具体封装方法,会在其他文章进行讲解。
在这里我展示一下请求过来的data的结构

 rows: [
{date: '2018-11-01', orderCount: 10, orderAmount: 1093},
{date: '2018-11-02', orderCount: 20, orderAmount: 2230},
{date: '2018-11-03', orderCount: 33, orderAmount: 3623},
{date: '2018-11-04', orderCount: 50, orderAmount: 6423},
{date: '2018-11-05', orderCount: 80, orderAmount: 8492},
{date: '2018-11-06', orderCount: 60, orderAmount: 6293},
{date: '2018-11-07', orderCount: 20, orderAmount: 2293},
{date: '2018-11-08', orderCount: 60, orderAmount: 6293},
{date: '2018-11-09', orderCount: 50, orderAmount: 5293},
{date: '2018-11-10', orderCount: 30, orderAmount: 3293},
{date: '2018-11-11', orderCount: 20, orderAmount: 2293},
{date: '2018-11-12', orderCount: 80, orderAmount: 8293},
{date: '2018-11-13', orderCount: 100, orderAmount: 10293},
{date: '2018-11-14', orderCount: 10, orderAmount: 1293},
{date: '2018-11-15', orderCount: 40, orderAmount: 4293}
]

这些都完成之后,我们就能在浏览器看到一开是的截图了。
下面附上完整代码,由于异步接口无法直观的展示我们的data结构,所以我在完整代码里面用的是静态数据,方便大家更直观的查看

 <template>
<ve-histogram
:data="chartData"
:colors="chartColor"
:legend-visible="true"
:loading="loading"
:data-empty="dataEmpty"
:extend="extend"
:settings="chartSettings">
</ve-histogram>
</template>
<script> const DATA_FROM_BACKEND = {
rows: [
{date: '2018-11-01', orderCount: 10, orderAmount: 1093},
{date: '2018-11-02', orderCount: 20, orderAmount: 2230},
{date: '2018-11-03', orderCount: 33, orderAmount: 3623},
{date: '2018-11-04', orderCount: 50, orderAmount: 6423},
{date: '2018-11-05', orderCount: 80, orderAmount: 8492},
{date: '2018-11-06', orderCount: 60, orderAmount: 6293},
{date: '2018-11-07', orderCount: 20, orderAmount: 2293},
{date: '2018-11-08', orderCount: 60, orderAmount: 6293},
{date: '2018-11-09', orderCount: 50, orderAmount: 5293},
{date: '2018-11-10', orderCount: 30, orderAmount: 3293},
{date: '2018-11-11', orderCount: 20, orderAmount: 2293},
{date: '2018-11-12', orderCount: 80, orderAmount: 8293},
{date: '2018-11-13', orderCount: 100, orderAmount: 10293},
{date: '2018-11-14', orderCount: 10, orderAmount: 1293},
{date: '2018-11-15', orderCount: 40, orderAmount: 4293}
]
}; import 'v-charts/lib/style.css'
export default {
name: 'VCharts',
data () {
return {
chartSettings: {
xAxisType: 'time',
area: true,
yAxisName: ['订单总数', '订单金额'],
axisSite: {right: ['orderAmount']},
labelMap: {'orderCount': '订单数量', 'orderAmount': '订单金额'}
},
chartData: {
columns: ['date', 'orderCount', 'orderAmount'],
rows: []
},
extend: {
series: {
symbolSize: 10,
label: {
normal: {
show: true
}
}
}
},
chartColor: ['#89dd47', '#3cabf4'],
loading: false,
dataEmpty: false
}
}
created () {
this.getData()
}
methods: {
async getData () {
const res = await getOrderData(})
if (res.data.length === 0) {
this.dataEmpty = true
} else {
this.chartData.rows = DATA_FROM_BACKEND.rows // 注意这里应该是接口给返回回来的数据,为了方便展示data结构,我这里用的是静态数据
this.dataEmpty = false
}
console.log(res)
},
}
}
</script>

以上就是v-charts的基本用法了,上面用的是柱状图,其他例如:折线图,饼状图等等都是这样的用法,区别就是标签不一样

 //折线图
<ve-line :data="chartData"></ve-line>
//饼状图
<ve-pie :data="chartData"></ve-pie>

等等这里不在一一赘述,需要的直接去看v-charts官网介绍即可。
如果有我没说明白的地方,欢迎大家给我留言或者私信。

vue可视化图表 基于Echarts封装好的v-charts简介的更多相关文章

  1. 基于 ECharts 封装甘特图并实现自动滚屏

    项目中需要用到甘特图组件,之前的图表一直基于 EChart 开发,但 EChart 本身没有甘特图组件,需要自行封装 经过一番鏖战,终于完成了... 我在工程中参考 v-chart 封装了一套图表组件 ...

  2. vue中,基于echarts 地图实现一个人才回流的大数据展示效果

    0.引入echarts组件,和中国地图js import eCharts from 'echarts' import 'echarts/map/js/china.js'// 引入中国地图 1. 设置地 ...

  3. Python中可视化图表处理echarts库的安装

    系统环境:Windows 7 企业版 进入cmd 输入:python –m pip install pyecharts

  4. JFreeChart与AJAX+JSON+ECharts两种处理方式生成热词统计可视化图表

    本篇的思想:对HDFS获取的数据进行两种不同的可视化图表处理方式.第一种JFreeChar可视化处理生成图片文件查看.第二种AJAX+JSON+ECharts实现可视化图表,并呈现于浏览器上.   对 ...

  5. Webstorm+Webpack+echarts构建个性化定制的数据可视化图表&&两个echarts详细教程(柱状图,南丁格尔图)

    Webstorm+Webpack+echarts   ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...

  6. 数据可视化图表ECharts

    介绍: ECharts是一个基于ZRender(轻量级Canvas类库)的纯javascript图表库,提供可交互.个性化的数据可视化图表. ECharts提供了折线图.柱状图.散点图.饼图.K线图, ...

  7. 【Echarts】图表用echarts【待完善】

    echarts是做数据统计. ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox ...

  8. 最新开源JavaScript 图表库 ECharts推荐

    ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表. ECharts 提供大量常用的数据可视化图表,底层基于Z ...

  9. 超强可视化图表工具:Smartbi!!

    要制作出专业的可视化图表,还是需要一定的学习成本的,并且需要大量的时间.并且即使是制作出来,配色也是一大难题,对于一般人而言,通常会通过两种方式实现可视化大屏的制作: 1.写代码 大部分人可能会选择大 ...

随机推荐

  1. Java微信公众平台开发(九)--关键字回复以及客服接口实现(该公众号暂时无法提供服务解决方案)

    转自:http://www.cuiyongzhi.com/post/47.html 我们在微信公众号的后台可以发现微信给我们制定了两种模式,一种是开发者模式(也就是我们一直在做的开发),还有一种模式是 ...

  2. for in 循环的输出顺序问题

    var data = { '4': 'first', '3': 'second', '2': 'third', '1': 'fourth' }; for (var i in data) { conso ...

  3. 在linux中read、write函数

    read函数从打开的设备或文件中读取数据.   #include<</span>unistd.h> ssize_t read(int fd, void *buf, size_t ...

  4. ORACLE 误删除数据恢复

    首先通过如下SQL语句找到执行删除的LAST_ACTIVE_TIME.即找到具体的删除时间. select SQL_TEXT,LAST_ACTIVE_TIME from v$sqlarea where ...

  5. A Look at the Razor View Engine in ASP.NET MVC

    The biggest architectural difference that exists between ASP.NET MVC and ASP.NET Web Forms is the ne ...

  6. 安装 Windows Service

    1.打开 VS 命令行窗口 2. installutil /u  service文件路径  (卸载原有服务) 3, installutil /i  service 文件路径 (安装服务)

  7. solrcloud使用问题记录

    Solr Ping query caused exception: undefined field text [java] view plaincopy <span style="fo ...

  8. 有关Lucene的问题(4):影响Lucene对文档打分的四种方式

    原文出自:http://forfuture1978.iteye.com/blog/591804点击打开链接 在索引阶段设置Document Boost和Field Boost,存储在(.nrm)文件中 ...

  9. maven搭建ssm

    前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实战>.其实园内这方面文章已有不少,那么为什么我还要重复造轮子呢?我只是想记录自己的实践 ...

  10. HTTP状态详解

    1**:请求收到,继续处理2**:操作成功收到,分析.接受3**:完成此请求必须进一步处理4**:请求包含一个错误语法或不能完成5**:服务器执行一个完全有效请求失败 100——客户必须继续发出请求1 ...