惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
Recent Announcements
Recent Announcements
A
About on SuperTechFans
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Google DeepMind News
Google DeepMind News
S
Schneier on Security
S
Secure Thoughts
T
The Exploit Database - CXSecurity.com
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
Security Latest
Security Latest
Jina AI
Jina AI
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Recorded Future
Recorded Future
T
Tor Project blog
有赞技术团队
有赞技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News | PayPal Newsroom
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
Forbes - Security
Forbes - Security
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
NISL@THU
NISL@THU
C
Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Google DeepMind News
Google DeepMind News
Project Zero
Project Zero
IT之家
IT之家
T
Threatpost
Cyberwarzone
Cyberwarzone
O
OpenAI News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
J
Java Code Geeks
P
Proofpoint News Feed
The Last Watchdog
The Last Watchdog
月光博客
月光博客
Latest news
Latest news
MongoDB | Blog
MongoDB | Blog
Apple Machine Learning Research
Apple Machine Learning Research

diss带码

datart系列04:基于threejs自定义插件3D-MAP datart系列03:图表插件开发 datart系列02:图表插件开发作品 datart系列01:图表插件开发作品大赛 我的2021年新Mac设置 小程序:Painter画布 小程序:mqtt+webview控制显示内容 小程序:webview + PDF预览 小程序:数十年Lite 验证码:五福临门 开源论坛:社区选择Discourse 牛年开篇:网站拜年 github自定义主页秀 Davinci-二次开发系列08:mongoDB(JDBC查询)四种解决方案 Davinci-二次开发系列07:BI新元素尝试 Davinci-二次开发系列06:导出excel合并单元格 Metabase-BI系列12:0.35版本表达式是真的香 Davinci-二次开发系列04:自定义水印扩展 Davinci-二次开发系列03:区域地图下钻与选择
Davinci-二次开发系列05:echarts-gl map3D扩展
dumplingbao · 2020-04-03 · via diss带码

echarts-gl

​ 介绍一下echarts-glcharts-gl专门为echarts补充了丰富三维可视化组件。这里的gl应该是global的意思,很多地方简写GL,不建议这样写,因为和真实的GL太冲突,更何况最近肖某的事情,和BL有着千丝万缕的关系,所以,就别和GL扯上关系,我们还是写全称echarts-gl

echarts-gl map3D

​ 这次介绍echarts-gl map3D,就是用echarts-gl实现的地图的3D模式,也是在系列03的基础上进行的改造,开启3D,切换地图,效果如下:

echarts-gl

echarts-gl安装

1
cnpm install echarts-gl --save

页面引入

1
import 'echarts/dist/echarts-gl'

特别注意一下:如果集成了百度地图,这个引入不要放入到app.tsx里面,会出现一直加载不完的情况,所以最好放到chart.tsx

控制参数

​ 在样式里面,添加控制参数,开启3D

is3D

render调整

​ 在render下面的map.ts调整图形,主要是series的属性

1
2
map:'' // 注意与echarts.registerMap第一个参数保持一致
type: 'map3D' // 通过type指定必须是map3D,还有一种方式geo3D,见echarts官方实例

完成以上配置,效果就有了

echarts-gl事件存在问题

echarts-gl图表事件一直存在问题,算是个坑,截止目前,我统计了一下官方issue关于事件目前一直open的最少四个,echarts-gl目前维护进度也较慢。

​ 试了几个版本的echarts-gl,发现对于不同的版本:

  • 有版本需要加getZr(),有的版本不需要
  • 有的事件需要加getZr(),有的事件不需要
  • 有的版本获取不到区域名称,只能获取到坐标,有的版本能
  • 有的版本区域域名加了getZr()能获取到,有的不加能获取到,有的都能,有的都不能

​ 我目前使用的版本1.1.1,单击事件不用加getZr(),右键事件需要加,但是右键事件获取不到区域名称,如果发现某个版本单击和右键事件都有,并能获取到取到区域名称,烦请留言告知,在此谢过。

​ 就拿我们用的单击和右键事件来说:

​ 单击事件实现方式:

1
2
3
4
5
6
7
8
// 方式一
myChart.on('click', function (params) {
console.log(params);
});
// 方式二
myChart.getZr().on('click', function (params) {
console.log(params);
});

​ 右键事件

1
2
3
4
5
6
7
8
// 方式一
myChart.on('contextmenu', function (params) {
console.log(params);
});
// 方式二
myChart.getZr().on('contextmenu', function (params) {
console.log(params);
});

几个推荐和注意

echarts-gl地图下钻

​ 如果echarts-gl 地图下钻,一些类似边框、颜色等属性,需要在下钻事件里面重新调整,否则下钻到新的地图属性不能匹配。

echarts-gl map3D组合图形

​ 如果仅仅echarts-gl map3D效果没那么出众,一般都是配合其它图形,在地图上放柱形、雨滴等会更突出3D效果,所以可以进一步扩展。

demo-3D

echarts-gl性能

​ 这里map3D较简单,性能未发现问题,echarts-gl有很多空间性很强的图形,这种图形渲染加载都会比2D慢,所以性能也是需要考虑的,其它3D图形用的维度指标较多,性能有待测试验证。

geo3D和map3d区别

geo3D不支持visualMap,显示3D地理,上面可以加柱状图,各省份数据无法展示。

map3d支持visualMap,可以显示区域数据,不能绘制柱状图,但是也有说可以隐藏一个geo3D来实现,所以待验证,大家可以尝试一下。

交流学习

刚建的群,学习Metabase、Davinci等开源BI,群号:72569367,感兴趣的可以加一下。