iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript数据可视化:ECharts制作地图
  • 333
分享到

JavaScript数据可视化:ECharts制作地图

2024-04-02 19:04:59 333人浏览 八月长安
摘要

目录概述注意事项一. 使用方式二. 实现步骤初步实现代码效果:geo常见配置添加上面配置之后的效果图:显示某一个省份(河南省)效果不同区域显示不同颜色地图和散点图的结合总结概述 地图

概述

地图在我们日常的数据可视化分析中是很常见的一种展示手段,不仅美观而且很大气。尤其是在大屏展示中更是扮演着必不可缺的角色

注意事项

一. 使用方式

1.百度地图api(高德地图API)

  • 需要申请百度API

2.矢量地图

  • 需要准备矢量地图数据

二. 实现步骤

1.ECharts最基本的代码结构

引入js文件–DOM容器–初始化对象–设置option

2.准备中国的矢量地图JSON文件,放到json/map/的目录下

3.使用ajax获取china.json


//
$get('json/map/china.json',function (chinaJson) {})

4.在回调函数中往echarts全局对象注册地图的json数据


echarts.reGISterMap('chinaMap',chinaJson)

5.在geo下设置


{
    type:'map',
    map:'chinaMap'
}

初步实现代码


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>地图的实现</title>
    <script src="./lib/echarts.min.js"></script>
    <script src="./lib/Jquery.min.js"></script>
</head>
<body>
    <div style="width:600px;height:400px;"></div>
    <script>
        var myCharts = echarts.init(document.querySelector('div'))
        $.get('./json/map/china.json', function (chinaJson) {
            // chinaJson 就是中国的各个省份的矢量地图数据
            // console.log(chinaJson);
            // 注册地图数据
            echarts.registerMap('chinaMap',chinaJson)
            var option = {
                geo:{
                    type: 'map',
                    //chinaMap需要和registerMap中的第一个参数保持一致
                    map: 'chinaMap'
                }
            }
            myCharts.setOption(option)
        })
    </script>
</body>
</html>

返回数据chinaJson在浏览器后台输出截图:

在这里插入图片描述

我们展开某一省份看一下(以台湾省为例):

在这里插入图片描述

效果:

在这里插入图片描述

geo常见配置

允许缩放和拖拽效果

roam: true

名称显示

label{
show:true
}

初始缩放比例

zoom: 1.2

设置地图中心点的坐标

// 这个坐标点在我们返回的数据里是可以拿到的
center: [121.509062, 25.044332]

添加上面配置之后的效果图:

在这里插入图片描述

显示某一个省份(河南省)

这里没什么好说的,就是把矢量地图数据由原来的全国换成河南就好

PS:款哥是河南的,所以用了河南省举例


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>地图-某一区域的展示</title>
    <script src="./lib/echarts.min.js"></script>
    <script src="./lib/jquery.min.js"></script>
</head>
<body>
    <div style="width:600px;height:400px;"></div>
    <script>
        var myCharts = echarts.init(document.querySelector('div'))
        $.get('json/map/henan.json',(ret) => {
            echarts.registerMap('henanMap', ret)
            console.log(ret);
            var option = {
                geo:{
                    type:'map',
                    map:'henanMap',
                    zoom: 1,
                    label: {
                        show: true
                    },
                    center: [115.650497, 34.437054],
                    roam: true
                }
            }
            myCharts.setOption(option)
        })
    </script>
</body>
</html>

效果

在这里插入图片描述

不同区域显示不同颜色

1.显示基本的中国地图

2.将空气质量的数据设置给series下的对象

3.将series下的数据和geo关联起来

4.配置visualMap

注意:这里我们需要准备一个数组,这个数组里面是一个一个对象,每个对象有两个key值name对应省份名称,value对应的是颜色值

先看下效果图是不是很熟悉:

在这里插入图片描述

类似于我们的新冠数据图就是大致这个效果,疫情远没有结束,大家一定不要掉以轻心,积极接种疫苗,做好日常防护

代码如下,注释也比较详细,就不一一解读了


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>地图的实现</title>
    <script src="./lib/echarts.min.js"></script>
    <script src="./lib/jquery.min.js"></script>
</head>
<body>
    <div style="width:600px;height:400px;"></div>
    <script>
        
        var airData = [
            { name: '北京', value: 39.92 },
            { name: '天津', value: 39.13 },
            { name: '上海', value: 31.22 },
            { name: '重庆', value: 66 },
            { name: '河北', value: 147 },
            { name: '河南', value: 113 },
            { name: '云南', value: 25.04 },
            { name: '辽宁', value: 50 },
            { name: '黑龙江', value: 114 },
            { name: '湖南', value: 175 },
            { name: '安徽', value: 117 },
            { name: '山东', value: 92 },
            { name: '新疆', value: 84 },
            { name: '江苏', value: 67 },
            { name: '浙江', value: 84 },
            { name: '江西', value: 96 },
            { name: '湖北', value: 273 },
            { name: '广西', value: 59 },
            { name: '甘肃', value: 99 },
            { name: '山西', value: 39 },
            { name: '内蒙古', value: 58 },
            { name: '陕西', value: 61 },
            { name: '吉林', value: 51 },
            { name: '福建', value: 29 },
            { name: '贵州', value: 71 },
            { name: '广东', value: 38 },
            { name: '青海', value: 57 },
            { name: '西藏', value: 24 },
            { name: '四川', value: 58 },
            { name: '宁夏', value: 52 },
            { name: '海南', value: 54 },
            { name: '台湾', value: 88 },
            { name: '香港', value: 66 },
            { name: '澳门', value: 77 },
            { name: '南海诸岛', value: 55 }
        ]
        var myCharts = echarts.init(document.querySelector('div'))
        $.get('./json/map/china.json', function (chinaJson) {
            echarts.registerMap('chinaMap',chinaJson)
            var option = {
                geo:{
                    type: 'map',
                    //chinaMap需要和registerMap中的第一个参数保持一致
                    map: 'chinaMap',
                    // 允许缩放和拖拽效果
                    roam: true,
                    // 名称显示
                    label:{
                        show: true
                    }
                },
                series: [
                    {
                        type: 'map',
                        data: airData,
                        geoIndex: 0 //将空气质量的数据与第0个geo的配置关联起来
                    }
                ],
                visualMap: {
                    min: 0,
                    max: 300,
                    inRange: {
                        // 控制颜色渐变的范围
                        color: ['#fff', '#f00']
                    },
                    // 出现滑块
                    calculable: true
                }
            }
            myCharts.setOption(option)
        })
    </script>
</body>
</html>

地图和散点图的结合

1.就是给上面的代码基础上,series添加下面这段配置


{
     data: scatterData,  //配置散点的坐标数据
     type: 'effectScatter',
     coordinateSystem: 'geo', //指明散点使用的坐标系统  geo的坐标系统
     rippleEffect: {
          scale: 10  //设置涟漪动画的缩放比例
     }
}

效果图:

在这里插入图片描述

总结

本片文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: JavaScript数据可视化:ECharts制作地图

本文链接: https://www.lsjlt.com/news/134151.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript数据可视化:ECharts制作地图
    目录概述注意事项一. 使用方式二. 实现步骤初步实现代码效果:geo常见配置添加上面配置之后的效果图:显示某一个省份(河南省)效果不同区域显示不同颜色地图和散点图的结合总结概述 地图...
    99+
    2022-11-12
  • springboot+echarts +mysql制作数据可视化大屏(四图)
    作者水平低,如有错误,恳请指正!谢谢!!!!! 项目简单,适合大学生参考 分类专栏还有其它的可视化博客哦! 专栏地址:https://blog.csdn.net/qq_55906442/category_11906804.htmlspm=1...
    99+
    2023-10-21
    spring boot echarts mysql 大数据 java
  • JavaScript ECharts可视化图表库
    ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apac...
    99+
    2023-01-18
    JS ECharts JS ECharts可视化图表
  • 如何使用Echarts制作可视化图表
    这期内容当中小编将会给大家带来有关如何使用Echarts制作可视化图表,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。最近在结合新学的爬虫在做一些可视化的东西了,今天讲讲可视化图表相关的。关于可视化工具:E...
    99+
    2023-06-19
  • springboot+mybatis+echarts +mysql制作数据可视化大屏
    作者水平低,如有错误,恳请指正!谢谢!!!!! 目录 一、数据源 二、所需工具 三、项目框架搭建 3.1新建springboot项目 3.1.1进入官网 3.1.2创建项目 四、后端代码编写 4.1根据需求修改pom.xml 4.2配置数...
    99+
    2023-09-02
    大数据 数据仓库 javascript
  • Python数据可视化制作全球地震散点图
    目录查看JSON数据参数indent创建地震列表提取震级提取位置数据绘制震级散点图指定图表数据的方式DataFrame()函数设计标记点的尺寸设计标记的颜色前言: 为了制作全球地震散...
    99+
    2022-11-11
  • python数据可视化绘制世界人口地图
    目录前言获取两个字母的国别码制作世界地图绘制完整的世界人口地图根据人口数量将国家分组根据Pygal设置世界地图的样式前言 数据来源:population_data.json, 先看一...
    99+
    2022-11-13
  • Python数据可视化Pyecharts制作Heatmap热力图
    目录HeatMap:热力图1.基本设置2.热力图数据项Demo 举例1.基础热力图本文介绍基于 Python3 的 Pyecharts 制作&...
    99+
    2022-11-13
  • SpringBoot+Echarts如何实现用户访问地图可视化
    这篇文章主要介绍SpringBoot+Echarts如何实现用户访问地图可视化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SpringBoot+Echarts用户访问地图可视化意义 在常见的电商、新闻、社...
    99+
    2023-06-16
  • Python matplotlib数据可视化图绘制
    目录前言1.折线图2.直方图3.箱线图4.柱状图5.饼图6.散点图前言 导入绘图库: import matplotlib.pyplot as plt import numpy as ...
    99+
    2022-11-11
  • Echarts中怎么实现数据可视化
    这期内容当中小编将会给大家带来有关Echarts中怎么实现数据可视化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Echarts这个方案从我接触到做出一个还算不错的图,也就不过几个小时的时间,其中至少60...
    99+
    2023-06-04
  • python用pyecharts实现地图数据可视化
    目录一、全国各省单年GDP的可视化二、全国各省多年GDP的可视化有的时候,我们需要对不同国家或地区的某项指标进行比较,可简单通过直方图加以比较。但直方图在视觉上并不能很好突出地区间的...
    99+
    2022-11-11
  • 使用antv替代Echarts实现数据可视化图表详解
    目录前言面积图常用参数文档图表度量 scale提示 tooltip坐标系 axischart.line(options)chart.area(options)geom.positio...
    99+
    2022-11-13
  • echarts几个公司内部数据可视化图表必收藏
    目录折线图日负荷折线图最大需求表柱状图日电量柱状图分时电量功率因数三相温度水球图年月日负荷率图散点图三相平衡最近公司有一个需求,要做一个数据可视化的页面,所有的图表都在下面,做这些都...
    99+
    2022-11-13
    echarts可视化图表 echarts数据可视化
  • 怎么用Python echarts实现数据可视化
    本篇内容主要讲解“怎么用Python echarts实现数据可视化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python echarts实现数据可视化”吧!1.概述...
    99+
    2023-06-29
  • python数据可视化Seaborn绘制山脊图
    目录1. 引言2. 举个栗子3.山脊图4.扩展5.结论1. 引言 山脊图一般由垂直堆叠的折线图组成,这些折线图中的折线区域间彼此重叠,此外它们还共享相同的x轴. 山脊图经常以一种相...
    99+
    2022-11-12
  • Python采集股票数据并制作可视化柱状图
    目录前言模块使用开发环境代码实现步骤代码数据可视化前言 嗨喽!大家好呀,这里是魔王~ 雪球,聪明的投资者都在这里 - 4300万投资者都在用的投资社区, 沪深港美全球市场实时行情,股...
    99+
    2022-11-13
  • [数据分析与可视化] Python绘制数据地图3-GeoPandas使用要点
    本文主要介绍GeoPandas的使用要点。GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型,并使用matplotl...
    99+
    2023-09-23
    python 数据分析 开发语言
  • Python echarts实现数据可视化实例详解
    目录1.概述2.安装3.数据可视化代码3.1 柱状图3.2 折线图3.3 饼图总结1.概述 pyecharts 是百度开源的,适用于数据可视化的工具,配置灵活,展示图表相对美观,顺滑...
    99+
    2022-11-13
  • SpringBoot+ECharts是如何实现数据可视化的
    一、提出任务 查询班级表数据,利用ECharts绘制各班人数柱形图。 (一)班级数据 (二)运行效果 二、实现步骤 (一)创建数据库与表 1、创建数据库 - test cre...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作