当前位置:网站首页>地图加柱状图、饼图组合可视化
地图加柱状图、饼图组合可视化
2022-08-07 11:31:00 【tslilove】
大家好我是亮哥,本期给大家分享地图加柱状图和地图加饼图组合图的制作。一般工作中,使用的比较常见的地图就是热力地图,数据分段地图,很多平台对这种地图的使用是免费的,那如果你需要制作地图加柱状图或者说地图加饼图,那就要实行收费,且网上的资料不是很多,今天我将给大家介绍在html中,接入百度开源的Echarts来制作咱们的高级空间图表
1、效果预览
1.1、全国地图上添加柱状图
这里从Pycharm中,利用谷歌浏览器打开,然后鼠标右键,会出现图片另存为

然后输入图片名,点击保存

在桌面上就保存下来的

结果:

1.2、全国地图上添加饼图
同理



2、工具安装及调用
方式一:利用python
在html文件夹,输入cmd,回车


通过图中命令启动本地服务,输入完命令敲回车

然后在浏览器输入:http://127.0.0.1:8080/,此时网页就会出现你当前文件夹的所有目录及文件

例如:我这里点击全国省份地图+饼图.html

方式二:利用nodejs
下载nodejs,然后安装,安装以后,以管理员身份打开这个命令提示符

输入如下代码,然后回车
npm install http-server -g
安装完成以后,同理方式一的操作,进入到dos窗口,然后输入http-server,回车

随便复制一个到浏览器打开,发现是nodejs开启的服务

方式三:IDE集成环境
如果你安装的有Pycharm或者vscode等集成IDE,可以直接打开

3、省份geojson数据获取
这里推荐使用阿里云的区域位置选择器官网
http://datav.aliyun.com/portal/school/atlas/area_selector
如图,如果不做任何选择,框选位置下载的是全国的位置数据

可以通过点击左边的地图进行下钻,你想要哪一级的数据,进行下载即可

当然,数据很少的时候,我们手动下载即可,需要的数据多了,通过爬虫获取即可
细心的小伙伴可能发现,这里的最小粒度只能到区县级别,那么我们要乡镇的数据该怎么办呢?
这里推荐一款软件 Bigemap GIS Office
下面我们进行示范,可以看到,可以选择到乡镇粒度,点击下载即可


html作图代码关注微信公众号,添加助理微信获取
python读取数据代码:
#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time :2022/8/7 1:17
# @Author : 亮哥
# @微信公众号 : 亮哥数据实验室
# @File : getMapData.py
# Software : PyCharm
import json
import pandas as pd
def readExcel():
df = pd.read_excel("各省份数据.xlsx",sheet_name=0)
return df
def dealProvince(x: str) -> str:
if '省' in x:
x = x.replace('省', '')
elif '市' in x:
x = x.replace('市', '')
elif '特别行政区' in x:
x = x.replace('特别行政区', '')
elif '维吾尔自治区' in x:
x = x.replace('维吾尔自治区', '')
elif '回族自治区' in x:
x = x.replace('回族自治区', '')
elif '壮族自治区' in x:
x = x.replace('壮族自治区', '')
elif '自治区' in x:
x = x.replace('自治区', '')
else:
x = x
return x
def readMapJson():
df = readExcel()
with open("中华人民共和国.json", 'r', encoding='utf-8') as f:
data = json.loads(f.read())
json_data = {}
for dd in data.get('features'):
d = dd.get('properties')
json_data[dealProvince(d.get('name'))] = d.get('center')
provinceJson = {}
provinceData = []
for i,j,k in zip(df["省份"],df["类别1"],df["类别2"]):
province = dealProvince(i)
if province in json_data:
provinceJson[province] = json_data[province]
provinceData.append([province,j,k])
print(provinceJson)
print(provinceData)
if __name__ == '__main__':
readMapJson()
边栏推荐
- Qt QImage 图像处理(翻转,灰度,亮度)代码实现
- UGUI Series - Implementing Hierarchical Menus (Unity3D)
- UGUI series - list add physical effects (Unity3D)
- QList<QVariant> list
- [Cloud Native--Kubernetes] Security Mechanism
- 使用对象流传输Student类
- Unet training and deployment tests
- 【js】计算child node 到 parent node的距离并且滚动到位置
- PG core technology articles--MVCC
- xxl-job的使用及简述原理
猜你喜欢

Qt QImage 图像处理(翻转,灰度,亮度)代码实现

什么是 Office Open XML 文件格式
![[生物信息]临床研究统计分析成长营14天班](/img/e8/13c0ede146978e424349eade6e84dd.png)
[生物信息]临床研究统计分析成长营14天班

学习一下 常说的防抖

一个很重的代码坏味:多行代码糅合在一行

What is the Office Open XML file format

CCNA-Installing SecureCRT 8.7 with GNS3 Emulation

QT专题:QFile,QProcess,QThread,QTcpSocket

xlwings module (data is saved as xlsx file)

【Hefei University of Technology】Data Sharing
随机推荐
CCNA--GNS3仿真环境的搭建及SecureCRT8.7程序控制台美化调试
Unity3d particle collision detection, judging that the example collided with the object
UGUI series - the mouse moves to the button to display information (Unity3D)
【OpenCV】直方图计算 & 均衡化直方图
xlwings module (data is saved as xlsx file)
状态存储 - Nanny State
介绍几个适用于matlab的colormap
Linux——在Linux系统上安装和启动Redis
The use and brief principle of xxl-job
[OpenCV] Histogram Calculation & Equalization Histogram
【Hefei University of Technology】Data Sharing
《bug记录》在利用TCP协议创建【服务器-客户端交互程序】中出现的一些问题
CCNA-DHCP (Dynamic Host Configuration Protocol)
MapStruct 高级用法
Pytest Learning - Framework Code Hierarchical Optimization
MySQL——case when 的用法,纵向统计数据-类似数据透视表
Community Marketing Monetization Model Revealed!How to use the community to sell your products?
高级课程作业zabbix01
第4章 漏洞扫描
Linux——在Linux系统上安装和启动MySQL