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就更是不熟了,硬生生的逼着要一周做完一个系统.这算是个小总结吧,以后万一用的上捏. 渐变使用 项目中 ...
随机推荐
- Python-docx库的使用
from docx import Document from docx.shared import Inches document = Document() document.add_heading( ...
- WinCE下的第二个窗口程序
MFC写的,有些简陋,但是还是感觉不错,一个小小的计算器,各个方面的功能都完成了 但是唯独那个CEdit里面的文字不能右对齐.那个扩展风格用不了
- log4j学习(二) 高并发logback
logback中常用的appender有ch.qos.logback.core.ConsoleAppender和ch.qos.logback.core.rolling.RollingFileAppen ...
- spark函数sortByKey实现二次排序
最近在项目中遇到二次排序的需求,和平常开发spark的application一样,开始查看API,编码,调试,验证结果.由于之前对spark的API使用过,知道API中的sortByKey()可以自定 ...
- JS函数 函数调用 函数定义好后,是不能自动执行的,需要调用它,直接在需要的位置写函数名。
函数调用 函数定义好后,是不能自动执行的,需要调用它,直接在需要的位置写函数名. 第一种情况:在<script>标签内调用. <script type="text/java ...
- 深度探索C++对象模型之第二章:构造函数语意学之成员初始值列表
当我们需要设置class member的初值时,要么是经过member initialization list ,要么在construcotr内. 一.先讨论必须使用member initializa ...
- 关于jquery.validate.js的用法
// 手机号码验证 jQuery.validator.addMethod("isMobile", function(value, element) { var length = ...
- a^a^a^a^a^a^a^a^a
a^a^a^a是从前向后算,也就是a^(a^3)
- windows下,根据端口号杀死进程
1.cmd下,根据端口号查询进程号 C:\>netstat -ano|findstr " 2.根据进程号928,在任务管理器杀死PID为928进程 注意:默认情况下,进程选项卡里没有P ...
- hdu多校第四场1001 (hdu6614) AND Minimum Spanning Tree 签到
题意: 一个完全图,某两点边权为这两点编号之按位与,求最小生成树,输出字典序最小的. 题解: 如果点数不为$2^n-1$,则每一点均可找到一点,两点之间边权为0,只需找到该点二进制下其最左边的0是第几 ...