echarts迁徙图 vue_vue中使用 echarts3.0 或 echarts2.0 (模拟迁徙图,折线图)
三、可能适合你的做法
1、便于数据变更的处理方法是:
首先在 data 中定义全局变量
data(){
return{
myChart: null,
option: []
}
}
然后在 mounted 中将获取到的dom节点赋值给myChart
this.myChart = echarts.init(document.getElementById(‘myChart‘))
在 methoes 中封装一个方法 drawLine()
methods: {
drawLine (option) {
this.myChart.setOption({
//此处调用需要的图表参数及方法
})
}
}
在 watch 中监听接口数据以及将数据格式化后传给图表参数,并初始化图表
watch: {
yourData: {
deep: true,
handler (v, ov) {
if (v.length > 0) {
//格式化数据并传给图表参数option
}
this.myChart.clear();// 重绘之前清理画布
this.drawLine(this.option)
}
}
}
2、假如你使用了折线图,需要实现一个鼠标点击图表调用接口,并且将数据自定义渲染的功能,可以使用如下做法:
tooltip: {
trigger: ‘axis‘,
triggerOn: ‘click‘,//鼠标点击时触发
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: ‘shadow‘// 默认为直线,可选为:‘line‘ | ‘shadow‘
},
formatter: function (params, ticket, callback) {
var content = ‘‘;
for (var i = 0; i < params.length; i++) {
if (params[i].name) {
content += "
";
break;
}
}
for (var i = 0, key = {}; i < params.length; i++) {
key = params[i];
if (typeof key.value === ‘undefined‘ || key.value === ‘-‘){
key.value = ‘暂无‘;
}
content += "
+ key.color + " ‘> "
+ key.seriesName
+ " : " + key.value + "
";
}
that.$store.dispatch(‘youInterfaceMethod‘, param).then((data, index) => {
if (data && data.code == 1) {
that.appDataArr = data.data
if (data.data.length > 0) {
for (var i = 0; i < data.data.length; i++) {
content += ‘
‘;
}
} else {
content += ‘
‘;
}
content += ‘
‘;
callback(ticket, content)
}
})
return "Loading";
}
}
3、假如你使用了模拟迁徙图(本例子是echarts2.0版本的方法),想把接口返回的但是在 geoCoordMap 里找不到的城市,在地图上显示成未知,可以使用如下做法:
首先,在 geoCoordMap 里插入一条数据,名称为 "未知",坐标自定义;
然后,data 中定义变量:
data(){
return{
total: 0,
SHData: [],
SHSCircleData: [],
myChart: null,
valueArr: [],
maxNum: 0,
unknowArea: {},
unknowCount: 0
}
}
然后在 watch 中格式化数据:
watch: {
yourData: {
deep: true,
handler (v, ov) {
this.total = 0
this.SHData = []
this.SHSCircleData = []
this.unknowArea = {}
this.unknowCount = 0
if (v.length > 0) {
v.forEach((item) => {
this.total = this.total + item.count
if (item.count === 0) return
if (item.city == ‘未知‘ || !this.geoCoordMap.hasOwnProperty(item.city)) {
// 若item.city ‘未知‘ 或者在对象 ‘geoCoordMap‘ 中不存在
this.unknowCount += item.count
this.unknowArea = {name: ‘外太空‘, value: this.unknowCount}
return;
}
this.SHData = this.SHData.concat([[{name: ‘上海‘}, {name: item.city, value: item.count}]])
this.SHSCircleData = this.SHSCircleData.concat([{name: item.city, value: item.count}])
})
this.SHData = this.SHData.concat([[{name: ‘上海‘}, this.unknowArea]])
this.SHSCircleData = this.SHSCircleData.concat([this.unknowArea])
}
this.myChart.clear();// 重绘之前清理画布
this.myChart.setOption(this.option(this.SHData, this.SHSCircleData))
}
}
}
methods封装方法:
option(SHData, SHSCircleData){
return {
//调用方法及参数
//特别提出一个,关于颜色的,取返回数据的总数除以数组长度然后再取整,会让颜色一直都像放烟花
dataRange: {
show: true,
min: 0,
max: parseInt(this.total/this.SHData.length),
calculable: true,
color: [‘#ff3333‘, ‘orange‘, ‘yellow‘, ‘lime‘, ‘aqua‘],
textStyle: {
color: ‘#fff‘
}
}
}
}
mounted调用:
mounted () {
this.getOnlineUser()//数据接口调用
setInterval(() => {//隔30s轮询一次接口
this.getOnlineUser()
}, 30000)
this.myChart = echarts.init(document.getElementById(‘myChart‘))
}
THE END.
原文:http://www.cnblogs.com/Man-Dream-Necessary/p/7799104.html
echarts迁徙图 vue_vue中使用 echarts3.0 或 echarts2.0 (模拟迁徙图,折线图)相关推荐
- java根据散点图模拟出直线_借助Excel中XY散点图来模拟实现纵向折线图的方法
Excel中的折线图通常是在水平方向上展示数据图线,如果希望在纵向上也能展现折线图,可以借助XY散点图来模拟实现.本文就图文介绍了借助Excel中XY散点图来模拟实现纵向折线图的方法. 具体方法可参考 ...
- 画【Python折线图】的一百个学习报告(三、自动生成单一数据折线图)
画[Python折线图]的一百个学习报告(三.自动生成单一数据折线图) 目录 画[Python折线图]的一百个学习报告(三.自动生成单一数据折线图) 前言 学习环境 探究目标 分析过程 实践过程 成果 ...
- python中数据用折线图表示_使用PyQtGraph进行Python数据可视化:绘制精美折线图(以 上证指数走势为例)...
在前两篇文章中,我们介绍了: 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGraph进行Python数据可视化. 本篇,我们介绍使用Py ...
- python中输出手机话费_用Python生成柱状图、折线图、饼状图来统计自己的手机话费...
环境 macOS PyCharm 依赖库 matplotlib numpy 中文字体 步骤详解 一.配置依赖包 使用pycharm,直接依赖 matplotlib,如果当前环境变量的pip中不包含 m ...
- js折线图设置y轴刻度_d3.js实现自定义多y轴折线图
前言 需求是实现一个生命体征的体温单,x轴是时间线,y轴有多个体征项.效果不是特别复杂,但是行业特殊性,所以也没有现成可用的,所以用 d3.js 实现了一个多y轴的折线图. 基础 这张图只用了d3.j ...
- python matplotlib画折线图出现连线混乱_python使用matplotlib模块绘制多条折线图、散点图...
今天想直观的展示一下数据就用到了matplotlib模块,之前都是一张图只有一条曲线,现在想同一个图片上绘制多条曲线来对比,实现很简单,具体如下: #!usr/bin/env python #enco ...
- echarts迁徙图 vue_vue中高德搭配echarts做数据迁徙流线图
前言 此系列共分为以下几篇 <vue中高德地图的使用> <vue中基于高德的多行政区域覆盖> <vue中高德搭配echarts做数据迁徙流线图> (本篇) 本篇效果 ...
- echarts柱状图 饼图 折线图
最近大屏项目里做的 首先看看效果 这几个图 我将其标为七个部分 下方成为echarts1,echarts2往后类推 有需要 可以直接拷贝下方代码 推荐一个朋友最近发我的echarts图形地址 ...
- php echarts 两条曲线图,使用laravel和ECharts实现折线图效果的例子
1.首先引入echart.js 2.html页面,要有一个布局容器,用来显示图像,一定要设置宽和高 3.echarts折线图的使用 var myChart = echarts.init(documen ...
- Echarts折线图的平移假动画
Echarts折线图的平移假动画 #可视化项目中经常用图表的方式来展示数据,折线图是经常出现的,但是在echarts折线图中正常情况是通过删除数据的第一个,添加一个新数据在数组的末尾来实现动画,此动画 ...
最新文章
- CynosDB技术详解——存储集群管理
- jquery radio 取值
- SQLAlchemy 常用基本表
- Failed to install VS Code update.
- 2.羽翼sqlmap学习笔记之MySQL注入
- Ubuntu14.04下C++程序编辑、编译、运行
- TCP/IP学习笔记(六)Nagle算法
- 两篇同年硕士论文高度雷同!电子科技大学回应:启动调查!
- java决策树_【Java】决策树介绍和使用
- UNIX(多线程):13---condition_variable、wait、notify_one、notify_all
- Android无线调试——抛开USB数据线
- Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
- Linux操作基础(十七)之Systemd入门教程(二)实战篇
- Android 系统(95)---Android build.prop参数详解
- matlab读取文本文件----textscan
- 计算机公式算加减乘除教程视频,Excel快速计算加减乘除教程 Excel表格公式计算方法...
- 专业知识整理系列--遥感入门
- 智商黑洞(门萨Mensa测试)3
- 阿里云最新可申请试用云产品汇总(免费领阿里云服务器)
- 计算机学院教师老带新总结,教师“以老带新”工作总结
热门文章
- htlm5实习报告_web前端实习报告.doc
- python调用windows aplication
- html怎么实现年月日的选择,利用select实现年月日三级联动的日期选择效果【推荐】...
- US1MF-ASEMI贴片薄体封装二极管US1M
- 印象笔记粘贴HTML,VScode下MarkDown如何连接印象笔记
- 设计模式:(工厂模式)
- java并发增强工具_0318 guava并发工具
- Java技术体系概述
- 微服务架构学习与思考(04):微服务技术体系
- python 克里金空间插值_C#教程之空间插值——克里金插值