echarts的使用——vue
在vue的项目开发中,数据的可视化可以用echarts来实现,具体用法如下:
(1)安装echarts,进入项目目录,执行如下命令,安装echarts:
npm install echarts
(2)引入echarts,并对相关的横坐标和纵坐标进行赋值,该实例直接写入了app.vue中,具体代码如下:
<template>
<div>
<h2><button id="btn" @click="subBtn" v-text="btnText"></button></h2>
<ECharts class="chart-instance" :options="options" autoResize></ECharts>
</div>
</template>
<script>
import ECharts from 'vue-echarts/components/ECharts.vue'
import 'echarts/lib/chart/line'
import 'echarts/lib/component/dataZoom'
import 'echarts/lib/component/toolbox'
import 'echarts/lib/component/tooltip'
import 'echarts/lib/component/legend'
import 'echarts/lib/component/title' export default {
name: 'Readme',
components: {
ECharts
},
data () {
return {
// 切换标识
btnText: '隐藏',
options: {
title: {
show: false,
text: ''
},
tooltip: {
trigger: 'axis'
},
legend: {
selected: {},
data: []
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
show: true,
feature: {
dataZoom: { show: true,
title: {
dataZoom: '区域缩放',
dataZoomReset: '区域缩放后退'
}
},
mark: { show: true },
dataView: { show: true, readOnly: false },
magicType: { show: true, type: ['line'] },
restore: { show: true },
saveAsImage: { show: true }
}
},
xAxis: [
{
axisLabel: {
interval: 11
},
data: []
}
],
yAxis: [
{
type: 'value'
}
],
series: []
}
}
},
methods: {
init: function () {
let _t = this
_t.drawLine()
},
drawLine () {
let _t = this
const item = {
0: {
'上周全部点击率': 'all',
'上周默认流点击率': 'default',
'上周推荐流点击率': 'recommend'
},
1: {
'今日全部点击率': 'all',
'今日默认流点击率': 'default',
'今日推荐流点击率': 'recommend'
}
}
let url = 'http://10.23.87.10/realtimedata?_appid=recommend&data_type=week_click_rate_flow'
this.$http.jsonp(url, { //看后台获取的是什么数据类型决定是用get还是用jsonp
jsonp: '_callback'
}).then(function (response) {
let res = response.body
Object.keys(item).forEach((obj) => { // 图列
_t.options.legend.data.push.apply(_t.options.legend.data, Object.keys(item[obj]))
})
_t.options.legend.data.forEach((item) => {
_t.options.series.push({
name: item,
type: 'line',
data: []
})
})
res.result.forEach((obj, index) => { // 昨日今日展示数
obj.data.forEach((objData, objDataIndex) => {
if (!index) { // 昨天
_t.options.xAxis[0].data.push(objData.time) // 获取(横轴)xAxis.data数据
}
Object.keys(item[index]).forEach((key) => {
const selectedIndex = _t.options.legend.data.indexOf(key)
_t.options.series[selectedIndex].data.push(objData[item[index][key]])
})
})
})
}, function (res) {
alert('图表请求数据失败!')
})
},
subBtn: function () {
let _t = this
let selectd = {}
if (_t.btnText === '隐藏') { // 判断是否显示或隐藏
for (let i = 0; i < _t.options.legend.data.length; i++) {
let key = _t.options.legend.data[i]
selectd[key] = false
}
_t.btnText = '显示'
} else {
for (let i = 0; i < _t.options.legend.data.length; i++) {
let key = _t.options.legend.data[i]
selectd[key] = true
}
_t.btnText = '隐藏'
}
_t.options.legend.selected = selectd
}
},
created: function () {
let _t = this
_t.init()
}
}
</script>
<style scoped>
h2{
text-align: center;
color:#333;
padding:0;
margin:30px 0 0 0;
}
#btn{
display: inline-block;
margin-left: 10px;
color: #fff;
font-size: 15px;
background: rgba(169,51,76,.9);
border: none;
width: 65px;
height: 25px;
outline: none;
border-radius: 5px;
}
.chart-instance {
width: 100%;
height:700px;
padding-top: 10px;
text-align: left; }
</style>
echarts的使用——vue的更多相关文章
- echarts+百度地图+vue 填坑记(一)(百度地图、鼠标移入移出标注,信息框会产生闪烁)
大概七月底开始实习,到现在经历了两个完整的项目(c2b). 因为开发时间紧,任务重,所以在开发过程踩到的坑都没时间去记录. 现在在开发一个某链运输监控系统,到了收尾阶段,有时间写博客了!开心! 一.鼠 ...
- vue+echarts 动态绘制图表以及异步加载数据
前言 背景:vue写的后台管理,需要将表格数据绘制成图表(折线图,柱状图),图表数据都是通过接口请求回来的. 安装 cnpm install echarts --s (我这里用了淘宝镜像,不知道同学自 ...
- vue中如何使用echarts
在vue中使用echarts主要是注意如何与vue生命周期相结合,从而做到数据驱动视图刷新 主要是以下几步: echarts的option配置项放在在data(){}或者computed(){}中 在 ...
- Vue如何使用动态刷新Echarts组件
这次给大家带来Vue如何使用动态刷新Echarts组件,Vue使用动态刷新Echarts组件的注意事项有哪些,下面就是实战案例,一起来看一下. 需求背景:dashboard作为目前企业中后台产品的“门 ...
- 在vue项目中封装echarts的正确姿势
为什么需要封装echarts 每个开发者在制作图表时都需要从头到尾书写一遍完整的option配置,十分冗余 在同一个项目中,各类图表设计十分相似,甚至是相同,没必要一直做重复工作 可能有一些开发者忘记 ...
- vue 中使用echarts
前言:在vue2.0中使用百度echarts有三种解决方案. 一.原始方法直接使用 这样每次都要获取图表dom元素 然后通过setOption渲染数据,最后在mounted中初始化.很麻烦. < ...
- vue教程6-图表
引入 cnpm install echarts --save #在vue项目目录下安装echarts 静态折线图 linechart.js import echarts from 'echarts' ...
- echart 参数 vue配置 图文展示
https://blog.csdn.net/she_lover/article/details/51448967 https://blog.csdn.net/n_meng/article/detail ...
- 项目总结之echarts 使用
项目上需要使用echarts,对于一个新手前端来说,差点要爆炸了,自身前端基础就不好,echarts就更是不熟了,硬生生的逼着要一周做完一个系统.这算是个小总结吧,以后万一用的上捏. 渐变使用 项目中 ...
随机推荐
- IntelliJ IDEA创建springboot项目
1.创建新项目. 2. 3.Group 是包名,Artifact是项目名. 4.springboot版本尽量选择最高版本,且不要选择SNAPSHOP版本. 5.路径可自定义,默认为D://IDEA/M ...
- 11-python基础—格式化的两种方式
一.使用% %s 字符串 %c 字符 %d 十进制(整数) %i 整数 %u 无符号整数 %o 八进制整数 %x 十六进制整数 %X 十六进制整数大写 %e 浮点数格式1 %E 浮点数格式2 %f 浮 ...
- hadoop系列(一)window10下hadoop安装
风闻win10不需要cygwin就能用hadoop了,赶紧试试. 去官网下载hadoop-2.8.3,然后去 https://github.com/steveloughran/winutils 下载h ...
- HTML_案例(首页制作)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 2019-10-9-dotnet-不申请额外数组空间合并多个只读数组列表
title author date CreateTime categories dotnet 不申请额外数组空间合并多个只读数组列表 lindexi 2019-10-09 15:15:10 +0800 ...
- Linux 系统版本查询命令
.# uname -a (Linux查看版本当前操作系统内核信息) .# cat /proc/version (Linux查看当前操作系统版本信息) .# cat /etc/issue 或 cat / ...
- php 查看linux服务器的磁盘使用情况
- code+第四次网络赛div2
T1 组合数问题: 用k个不完全相同的组合数表示一个数n. 用k-1个1和一个n-k+1表示即可. #include<cstdio> using namespace std; int x, ...
- thinkphp 三元运算
模板可以支持三元运算符,例如: {$status?'正常':'错误'} {$info['status']?$info['msg']:$info['error']} 注意:三元运算符中暂时不支持点语法. ...
- flink提交文件出现java.io.IOException:unable to close file because the last block does not have enough number of replicas异常
当提交已经打包好的jar包时候,控制台出现以下的错误.