echarts 模拟迁徙飞机怎么改成汽车
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts 模拟迁徙飞机怎么改成汽车相关的知识,希望对你有一定的参考价值。
参考技术A 把symbol属性改成自定义图标就可以了。例如:symbol: 'image://js/nLocal.svg' 参考技术B 标志图形类型,默认自动选择(8种类型循环使用,不显示标志图形可设为'none'),默认循环选择类型有:'circle' | 'rectangle' | 'triangle' | 'diamond' |
'emptyCircle' | 'emptyRectangle' | 'emptyTriangle' | 'emptyDiamond'
另外,还支持五种更特别的标志图形'heart'(心形)、'droplet'(水滴)、'pin'(标注)、'arrow'(箭头)和'star'(五角星),这并不出现在常规的8类图形中,但无论是在系列级还是数据级上你都可以指定使用,同时,'star' + n(n>=3)可变化出N角星,如指定为'star6'则可以显示6角星
自1.3.5起支持symbol为自定义图片,格式为'image://' + '图片路径', 如'image://../asset/ico/favicon.png'
//var planePath = 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z';
var planePath = 'path://M432.45,595.444c0,2.177-4.661,6.82-11.305,6.82c-6.475,0-11.306-4.567-11.306-6.82s4.852-6.812,11.306-6.812C427.841,588.632,432.452,593.191,432.45,595.444L432.45,595.444z M421.155,589.876c-3.009,0-5.448,2.495-5.448,5.572s2.439,5.572,5.448,5.572c3.01,0,5.449-2.495,5.449-5.572C426.604,592.371,424.165,589.876,421.155,589.876L421.155,589.876z M421.146,591.891c-1.916,0-3.47,1.589-3.47,3.549c0,1.959,1.554,3.548,3.47,3.548s3.469-1.589,3.469-3.548C424.614,593.479,423.062,591.891,421.146,591.891L421.146,591.891zM421.146,591.891';
vue中使用 echarts3.0 或 echarts2.0 (模拟迁徙图,折线图)
一、echarts3.0(官网: http://echarts.baidu.com/) 首先通过npm安装echarts依赖,安装的为3.0版本 npm install echarts -s 也可以使用淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org cnpm install echarts -s 引入的方式有两种: 1、main.js中全局引入 import echarts from ‘echarts‘ Vue.prototype.$echarts = echarts 然后在组件中通过 this.$echarts.init(document.getElementById(‘your_div‘)) 来初始化 2、只应用基本包,加快加载速度 在需要使用echarts的组建中引入: let echarts = require(‘echarts/lib/echarts‘) 然后通过 echarts.init(document.getElementById(‘your_div‘)) 来初始化 使用的话就比较简单,直接将官方实例封装一个为方法,在mounted中调用即可。 二、 echarts2.0(官网: http://echarts.baidu.com/echarts2/) 1、引入 到官网下载echarts2.0的包echarts-all.js,放到static下面,然后在index.html中引用: <script type="text/javascript" src="./static/echarts-all.js"></script> 2、使用 直接封装一个方法,在mounted中调用,通过 echarts.init(document.getElementById(‘your_div‘)) 来初始化 三、可能适合你的做法 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 += "<div class=‘tootipBox‘><div class=‘tootipDate‘>" + params[i].name + "</div>"; break; } } for (var i = 0, key = {}; i < params.length; i++) { key = params[i]; if (typeof key.value === ‘undefined‘ || key.value === ‘-‘){ key.value = ‘暂无‘; } content += "<div class=‘tootipContent‘ style=‘border-bottom: solid 1px #fff;‘><i style=‘background-color: " + key.color + " ‘></i> " + key.seriesName + " : " + key.value + "</div>"; } 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 += ‘<div class="tooltip">‘ + that.item[i].str ‘</div>‘; } } else { content += ‘<div class="tooltip">‘ + ‘Loading...‘ + ‘</div>‘; } content += ‘</div>‘; 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.
以上是关于echarts 模拟迁徙飞机怎么改成汽车的主要内容,如果未能解决你的问题,请参考以下文章
echarts地图demo(模拟迁徙)上的数字颜色大小如何调整?求高手。。