三、可能适合你的做法

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 += "

" + params[i].name + "

";

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 += ‘

‘ + that.item[i].str ‘

‘;

}

} else {

content += ‘

‘ + ‘Loading...‘ + ‘

‘;

}

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 (模拟迁徙图,折线图)相关推荐

  1. java根据散点图模拟出直线_借助Excel中XY散点图来模拟实现纵向折线图的方法

    Excel中的折线图通常是在水平方向上展示数据图线,如果希望在纵向上也能展现折线图,可以借助XY散点图来模拟实现.本文就图文介绍了借助Excel中XY散点图来模拟实现纵向折线图的方法. 具体方法可参考 ...

  2. 画【Python折线图】的一百个学习报告(三、自动生成单一数据折线图)

    画[Python折线图]的一百个学习报告(三.自动生成单一数据折线图) 目录 画[Python折线图]的一百个学习报告(三.自动生成单一数据折线图) 前言 学习环境 探究目标 分析过程 实践过程 成果 ...

  3. python中数据用折线图表示_使用PyQtGraph进行Python数据可视化:绘制精美折线图(以 上证指数走势为例)...

    在前两篇文章中,我们介绍了: 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGraph进行Python数据可视化. 本篇,我们介绍使用Py ...

  4. python中输出手机话费_用Python生成柱状图、折线图、饼状图来统计自己的手机话费...

    环境 macOS PyCharm 依赖库 matplotlib numpy 中文字体 步骤详解 一.配置依赖包 使用pycharm,直接依赖 matplotlib,如果当前环境变量的pip中不包含 m ...

  5. js折线图设置y轴刻度_d3.js实现自定义多y轴折线图

    前言 需求是实现一个生命体征的体温单,x轴是时间线,y轴有多个体征项.效果不是特别复杂,但是行业特殊性,所以也没有现成可用的,所以用 d3.js 实现了一个多y轴的折线图. 基础 这张图只用了d3.j ...

  6. python matplotlib画折线图出现连线混乱_python使用matplotlib模块绘制多条折线图、散点图...

    今天想直观的展示一下数据就用到了matplotlib模块,之前都是一张图只有一条曲线,现在想同一个图片上绘制多条曲线来对比,实现很简单,具体如下: #!usr/bin/env python #enco ...

  7. echarts迁徙图 vue_vue中高德搭配echarts做数据迁徙流线图

    前言 此系列共分为以下几篇 <vue中高德地图的使用> <vue中基于高德的多行政区域覆盖> <vue中高德搭配echarts做数据迁徙流线图> (本篇) 本篇效果 ...

  8. echarts柱状图 饼图 折线图

    最近大屏项目里做的   首先看看效果 这几个图 我将其标为七个部分 下方成为echarts1,echarts2往后类推  有需要 可以直接拷贝下方代码 推荐一个朋友最近发我的echarts图形地址  ...

  9. php echarts 两条曲线图,使用laravel和ECharts实现折线图效果的例子

    1.首先引入echart.js 2.html页面,要有一个布局容器,用来显示图像,一定要设置宽和高 3.echarts折线图的使用 var myChart = echarts.init(documen ...

  10. Echarts折线图的平移假动画

    Echarts折线图的平移假动画 #可视化项目中经常用图表的方式来展示数据,折线图是经常出现的,但是在echarts折线图中正常情况是通过删除数据的第一个,添加一个新数据在数组的末尾来实现动画,此动画 ...

最新文章

  1. CynosDB技术详解——存储集群管理
  2. jquery radio 取值
  3. SQLAlchemy 常用基本表
  4. Failed to install VS Code update.
  5. 2.羽翼sqlmap学习笔记之MySQL注入
  6. Ubuntu14.04下C++程序编辑、编译、运行
  7. TCP/IP学习笔记(六)Nagle算法
  8. 两篇同年硕士论文高度雷同!电子科技大学回应:启动调查!
  9. java决策树_【Java】决策树介绍和使用
  10. UNIX(多线程):13---condition_variable、wait、notify_one、notify_all
  11. Android无线调试——抛开USB数据线
  12. Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
  13. Linux操作基础(十七)之Systemd入门教程(二)实战篇
  14. Android 系统(95)---Android build.prop参数详解
  15. matlab读取文本文件----textscan
  16. 计算机公式算加减乘除教程视频,Excel快速计算加减乘除教程 Excel表格公式计算方法...
  17. 专业知识整理系列--遥感入门
  18. 智商黑洞(门萨Mensa测试)3
  19. 阿里云最新可申请试用云产品汇总(免费领阿里云服务器)
  20. 计算机学院教师老带新总结,教师“以老带新”工作总结

热门文章

  1. htlm5实习报告_web前端实习报告.doc
  2. python调用windows aplication
  3. html怎么实现年月日的选择,利用select实现年月日三级联动的日期选择效果【推荐】...
  4. US1MF-ASEMI贴片薄体封装二极管US1M
  5. 印象笔记粘贴HTML,VScode下MarkDown如何连接印象笔记
  6. 设计模式:(工厂模式)
  7. java并发增强工具_0318 guava并发工具
  8. Java技术体系概述
  9. 微服务架构学习与思考(04):微服务技术体系
  10. python 克里金空间插值_C#教程之空间插值——克里金插值