先bb两句

首先承认酷炫是标题党,哈哈哈,参考了echart的官网开发示例,对一些样式做了自己的改动,变得稍微极客一点,另外在html中使用了ajax获取现成json数据,如果你有接口的话可以直接请求接口!

上效果图


其中气泡的大小和颜色都是根据各省不同的人数来展示,颜色还可以你自己调整成你认为好看的,波纹是动态的辐射,感觉做的很low,直接用的官方文档调整的,应该有更帅的。

代码

地址:https://github.com/lightTrace/echart/tree/master/hotMap

代码所依赖的全部官方文件都有的,可以在idea直接open in browser选择浏览器直接打开hotmap.html即可看到效果,直接打开是不行的,因为加入了ajax调用,或者部署到nginx上面也行。

走过路过的点个赞呗

hotmap.html简单说说

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=EDGE"><title>ECharts</title><link rel="stylesheet" type="text/css"/><script src="gf-js/jquery.min.js"></script><script src="gf-js/echarts.js"></script><script src="gf-js/china.js"></script><style>#china-map {width:100%; height: 100%;margin: auto;}</style>
</head>
<body><div id="china-map"></div><script>var province = "河北省、山西省、辽宁省、吉林省、黑龙江省、江苏省、浙江省、安徽省、福建省、江西省、山东省、河南省、湖北省、湖南省、广东省、海南省、四川省、贵州省、云南省 、陕西省 、甘肃省、青海省、台湾省、西藏自治区、广西壮族自治区、内蒙古自治区、宁夏回族自治区、新疆维吾尔自治区、北京市、上海市、天津市、重庆市、香港、澳门"var ajaxReqs = null;function reqs() {if(ajaxReqs !== null) {ajaxReqs.abort();ajaxReqs = null;}var data=[]var geoCoordMap={}var max = 0,min = 1000; // min,max为了自动计算出人数最多的省和最小的省从而自动分配颜色var maxSize4Pin = 55,minSize4Pin = 35;$.ajax({type : "GET",// url : "http://192.168.2.184:9001/collect/region",url:"./data.json",async: false,dataType : "json",cache:false,success : function (datas) {list = datas.data.list$.each(list, function (i, item) {if(province.indexOf(item.region)!=-1){if(max < item.activityNumber){max = item.activityNumber}if(min > item.activityNumber){min = item.activityNumber}data.push({name: item.region,value: item.activityNumber})var point = []point.push(item.lng, item.lat)geoCoordMap[item.region]=point}});}});console.log(min)console.log(max)$('#china-map').width($('#china-map').width());$('#china-map').height($('#china-map').width());var myChart = echarts.init(document.getElementById('china-map'));var name_title = ''var subname = ''var nameColor = '#2880fc'var name_fontFamily = '宋体'var subname_fontSize = 15var name_fontSize = 25var mapName = 'china'/*获取地图数据*/myChart.showLoading();var mapFeatures = echarts.getMap(mapName).geoJson.features;myChart.hideLoading();var convertData = function(data) {var res = [];for (var i = 0; i < data.length; i++) {var geoCoord = geoCoordMap[data[i].name];if (geoCoord) {res.push({name: data[i].name,value: geoCoord.concat(data[i].value),});}}return res;};option = {backgroundColor: 'rgba(29, 52, 108, 1)',title: {text: name_title,subtext: subname,x: 'left',y:'200px',textStyle: {color: nameColor,fontFamily: name_fontFamily,fontSize: name_fontSize},subtextStyle:{fontSize:subname_fontSize,fontFamily:name_fontFamily}},visualMap: {show: false,min: min,max: max,left: 'left',top: 'bottom',color: '#b70d05',text: ['高', '低'], // 文本,默认为数值文本calculable: true,seriesIndex: [1],inRange: {color: ['#00467F', '#A5CC82','#c3fc0a','#fca80d', '#cc0529'] // 地图不同省份填充的颜色}},geo: {show: true,map: mapName,label: {normal: {show: false},emphasis: {show: false,}},roam: true,  //地图是否可以缩放itemStyle: {normal: {areaColor: '#031525',borderColor: '#00effc',},emphasis: {areaColor: '#2B91B7',}},regions: [{name: '南海诸岛',value: 0,itemStyle: {normal: {opacity: 0,label: {show: false}}}}]},series: [{name: '散点',type: 'scatter',coordinateSystem: 'geo',data: convertData(data),symbolSize: function(val) {return 1;},label: {normal: {formatter: '{b}',position: 'right',show: true},emphasis: {show: true}},itemStyle: {normal: {color: '#05C3F9'}}},{type: 'map',map: mapName,geoIndex: 0,aspectScale: 0.75, //长宽比showLegendSymbol: true, // 存在legend时显示label: {normal: {show: true},emphasis: {show: false,textStyle: {color: '#fff'}}},roam: true,itemStyle: {normal: {areaColor: '#031525',borderColor: '#3B5077',},emphasis: {areaColor: '#2B91B7'}},animation: false,data: data},{name: '点',type: 'effectScatter',coordinateSystem: 'geo',symbol: 'pin', //气泡effectType: 'ripple',animation: true,rippleEffect: {period: 5,scale: 1.5,brushType: 'stroke'},symbolSize: function(val) {var a = (maxSize4Pin - minSize4Pin) / (max - min);var b = minSize4Pin - a * min;b = maxSize4Pin - a * max;return a * val[2] + b;},label: {normal: {show: true,formatter:'{@[2]}',  //这里加这个是防止echart地图加载数据加载气泡的数值加载成纬度,这个bug很尴尬textStyle: {color: '#fff',fontSize: 9,}}},itemStyle: {normal: {color: '#F62157', //标志颜色}},zlevel: 6,data: convertData(data),},]};myChart.setOption(option);}reqs();setInterval(reqs, 3000);
</script></body>
</html>

发现没什么好说的,代码很简单,注释也有,主要我写的菜,请大家谅解,起码提供了官方下载文件,哈哈哈,后面学习下可能会做一点更酷的。

用echart玩点好玩的--酷炫热力图相关推荐

  1. python3+pygame制作的连连看小游戏,好玩,酷炫,

    使用Python3+pygame模块制作的连连看小游戏,好玩,酷炫,很适合初学Python的同学练习 连连看源码下载: 长按左侧二维码 2 秒 回复「连连看」即可获取源码 (非本号) 一.运行效果 二 ...

  2. 可视化案例(五)Kepler.gl绘制动态酷炫热力图

    目录 一.Kepler.gl简介 二.案例演示 2.1 数据介绍 2.2 基本设置 三.Jupyter Notebook中实现 3.1 安装kepler模块 3.2 基本用法 一.Kepler.gl简 ...

  3. 酷炫!可视化神器Plotly玩转饼图

    酷炫!可视化神器Plotly玩转饼图 之前发表过两篇关于Plotly的文章: 入门篇:酷炫!36张图爱上高级可视化神器Plotly_Express 散点图:酷炫!可视化神器Plotly玩转散点图 Pl ...

  4. 乐高凯德机器人_酷炫到底!乐高EV3机器人+冰淇淋的高级玩法,你GET到了吗?...

    原标题:酷炫到底!乐高EV3机器人+冰淇淋的高级玩法,你GET到了吗? 你喜欢吃冰淇淋吗? 甜甜凉凉的冰淇淋圣代, 最适合炎热的夏天啦~ 我们"多才多艺"的EV3机器人, 也会做冰 ...

  5. 惊艳!人人都能玩转酷炫的数据可视化,高德LOCA 2.0全新升级,轻松实现海量数据渲染...

    引言 "一图胜千言",大数据时代来临,数据与人们生活密切相关.复杂难懂且体量庞大的数据给人的感觉总是冷冰冰的,让人难以获取到重点信息,也找不出规律和特征,数据价值发挥不出来.空间数 ...

  6. 微宝球型机器人功能_微宝球型机器人即将开售 酷炫玩法升级

    原标题:微宝球型机器人即将开售 酷炫玩法升级 [机锋资讯]日前一款由美国Orbotics公司研发的Sphero 2.0--微宝智能球型机器人出现了消费者眼前,这个外观看起棒球的智能小球不仅可以在地上旋 ...

  7. python 词云 fontpath_Python酷炫词云图原来可以这么玩?

    作者:费弗里 博客地址: https://www.cnblogs.com/feffery/p/11842798.html 说明:本文经作者授权转载,禁止二次转载 本文对应脚本及数据已上传至我的Gith ...

  8. 【UI学习】Android github开源项目,酷炫自定义控件(View)汇总

    [UI学习]Android github开源项目,酷炫自定义控件(View)汇总 转载  2016年09月04日 23:23:15 3484 近期整理的比较酷炫并且我们会经常用到的custom vie ...

  9. 微信/微博的图片处理?-android酷炫图片处理(下)

    微信一向是Android开发者们模仿的对象,上篇文章中,我介绍了一个和微信图片压缩,压缩效果差不多的库Luban,这篇文章还会介绍高仿微信从文件系统选择图片.此外微博加载超长大图功能也很酷炫(其实微信 ...

最新文章

  1. 《统一沟通-微软-实战》-7-配置-3-响应组
  2. PHP关键字'var'有什么作用?
  3. python字符串写入excel-python-xlwt写入excel详解
  4. 错误:mysql foreign key errno 150
  5. pycharm在401跑程序需要每个py文件加一句
  6. Vue_template是什么
  7. 在C#中使用 CancellationToken 处理异步任务
  8. 牛客题霸 [二叉树的镜像]C++题解/答案
  9. java性能监视_Java 9和应用程序性能监视的激动人心之处
  10. DIV制作浮在页面的窗口
  11. IntelliJ 平台 2020 年路线图,规划原来这么厉害
  12. C++ MFC人事管理系统
  13. Web入门-namp的下载与使用
  14. 公司专利技术交底书撰写及申请完全流程
  15. 常用的十大塑料成型工艺(优缺点介绍)
  16. 在集体奋斗中实现自己的价值
  17. win11怎么快速锁屏 Windows11快速锁屏的设置方法
  18. 计算机协会游园活动方案,大学计算机协会演讲比赛活动策划方案
  19. MySQL数据库服务的简单开启和关闭
  20. Js浮动广告效果实现

热门文章

  1. 前端日期时间处理建议使用Momen
  2. word2vec产生的词向量中出现空格和回车,会导致ValueError: invalid vector on line3 (is this really the text format)
  3. socket通信之listen函数
  4. 详解TCP之listen
  5. 关于玩只狼时,解决 游戏画面只在屏幕左上角四分之一显示 的问题 !!!!
  6. 怎么理解cpu load?
  7. Anaconda3 2021 安装教程
  8. Java,配置Java环境
  9. IT行业的几大发展趋势
  10. JAVA - JDK 环境配置