echarts+vue遇到的问题总结

框架:echarts(最新版)+vue(2.5)
数据统计分析不可避免用到图表,所以选择了功能强大、免费的echarts
1、地图value值为数组,需要实现鼠标移上去浮动显示地图所有value值,并换行,如下图

gag.jpg

首先设置tooltip.formatter,可用方法(param={})其中param.data.value就是对应的省份的值(是个数组,有多个值),只需在此方法中拼接即可
tooltip : {
trigger: 'item',
formatter: (params) => {
let str=''
params.data.value.forEach(item=>{
str+=item.name+':'+item.value+'万元\n'
})
return str
},
extraCssText:'width:200px; white-space:pre-wrap'
},
若想换行:
方法一:直接在拼接时加上

方法二:拼接时加\n,并添加 extraCssText:'width:200px; white-space:pre-wrap'即可
2、若option中有使用到formatter函数,将option保存到后台,回显图表时会出现formatter无效;
错误示例:
option:JSON.stringify(this.option)---传给后台,
this.option=JSON.parse(option);this.myChart.setOption(this.option,true);---回显
解决办法:option以对象转成json字符串时方法无法转换,需要将方法提前转成字符串,再转成json字符串;反之接受时需要将字符串转成方法,才可以生效
image.png

image.png

其中方法转字符串的方法、字符串转方法的代码如下:
//将option中的function字符串类型转为函数
const CommonStrTOFunc = (option)=>{
if((typeof option)=="object"){
for(var o in option){
var opt=option[o];
if((typeof opt)=="string"){
if(opt.indexOf("function")!=-1){
//"string"转为"function" eval
var fmt=eval("("+opt+")");
option[o]=fmt;
}
}
CommonStrTOFunc(opt);
}
}
return option;
};
//将option中的function转为字符串
const CommonFuncTOStr=(option)=>{
if((typeof option)=="object"){
for(var o in option){
var opt=option[o];
if((typeof opt)=="function"){
option[o]=opt+'';
}
CommonFuncTOStr(opt);
}
}
return option;
};
3、echarts 换肤,下载的自定义主题“地图”无效果
问题描述:echarts自带颜色不符合客户要求,需要做到一键换肤的功能,echarts官网下载的自定义主题,基本图形都适用,发现地图没效果
症结:经过反复试验,下载的主题中地图部分格式不符合最新版地图api文档
解决办法:按着api文档的格式修改保存即可。
下载格式:
image.png

正确格式:
image.png

备注:init的时候的主题名字一定要和下载文件中的注册名字一致,否则无法生效
image.png

image.png

4、地图添加新区域(如贵州省添加贵安新区、成都市添加天府新区)
问题描述:echarts目前不提供地图下载,但是在node_modules/echarts/map/下有全国各省的经纬度数据(json\js);但是需求往往需要加上一个刚划分的区域,比如贵州省添加贵安新区(新划分的无法获取到经纬度);
因此查阅资料找到一种折中的办法
(1)首先通过http://geojson.io/#map=10/26.5031/106.3847
绘制贵安新区的区域,在右侧会出现你描出区域的经纬度数据
image.png

(2)通过压缩方法将geoJson进行压缩参考网站
https://blog.csdn.net/isea533/article/details/79194819
(3)将生成的js或json文件放到项目中,
import './assets/js/guizhou.js'
series: [ {
type: 'map',
mapType: '贵州',
................
}];
5、后台返回有数据,echarts画出的图有断裂,tooltip显示为NAN
原因:后台返回数据是千分位计数,如(10000---10,000)
解决办法:后台处理一下返回数据、或前端在绘制图形前格式化千分位计数
num.replace(/,/g, "")
image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,111评论 1 45
  • 官网奉上ECharts vue项目中可以引入echarts或者vue echarts,大致区别如下: echart...
    球_97阅读 23,657评论 2 12
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 1,122评论 0 1
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    你猜_3214阅读 10,967评论 0 118
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,390评论 0 0