python世界地图代码_[python] 几行代码也能玩转世界地图?

前些天收到某位大佬的求助,说是需要给根据数据给安徽省地市来绘制个图,用不同颜色来直观表示数据。当时就想到了Python提供一个绘制地图的库—— Pyecharts。

Pyecharts是一个用于生成echarts图表的类库, 它是百度开源的一个数据可视化 JS 库。Echarts详情点击这里。

安装库很简单,大家只要在环境变量里有添加过Python和其pip工具就OK。

pip install Pyecharts

当然有了该库后还不够,需要地图文件,所以以下几个需要按需安装

全球国家地图: echarts-countries-pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图

中国省级地图: echarts-china-provinces-pypkg (730KB):23 个省,5 个自治区

中国市级地图: echarts-china-cities-pypkg (3.8MB):370 个中国城市

中国县区级地图: echarts-china-counties-pypkg (4.1MB):2882 个中国县·区

中国区域地图: echarts-china-misc-pypkg (148KB):11 个中国区域地图,比如华南、华北。

如上使用pip install 命令完成安装即可。

基本应用::基本地图绘制

如果我们需要绘制一副安徽省的地图,并且我们给每个地市一定的数据,让地图在着色上表现出其数据的差异,这时,pyecharts是特别方便的一个应用。

from pyecharts import Map

city = ['合肥市', '芜湖市', '宿州市','淮北市','亳州市','阜阳市','蚌埠市','淮南市','滁州市','六安市','马鞍山市','安庆市','铜陵市','宣城市','池州市',"黄山市"]

area = [11445.1, 6026.05, 9938.77, 2741.39, 8521.23, 10118.17,5950.72, 5532.30, 13515.99, 15450.82, 4049.13, 13537.96, 2922.60, 12312.55,8398.72, 9678.39]

# 绘制地图

map_1 = Map("安徽省图例-各地市面积",title_pos='center',width=1200, height=600)

# 地图详细信息

map_1.add("", city, area,maptype='安徽', is_visualmap=True, visual_range=[min(area), max(area)], visual_text_color='black', is_map_symbol_show=False, is_label_show=True)

# 输出到当前文件夹下,保存名为 安徽省地图,文件类型为html

map_1.render("安徽省地图.html")

看看文件的结果如何:

这个简直很完美好吧,

1.左侧的颜色区间为渐变色,天空蓝——黄——红,表示的数据为由低到高;

2.数据的值并非手动分段,而是自动分段,故不一定是我们想要的;

3.鼠标放在某块地市区域上时,会高亮显示,并且会显示详细信息,这是一个可选项。

4…还是自己挖掘吧。

既然是由开源JS迁过来的,我们就必须要看看其网页源代码。

Woc,这个代码行数和右边的滚动块根本不是我想要的比例好吗!!看来期间那段js函数是一个大工程啊。

从参数option_xxxx可以看出,这些项基本为我们自己定义:如

title是一个字典,text值为我们标题值,这里用的其他编码所表示

left值为我们所设置的 title_pos= ‘center’

top,textStyle,subtextStyle为默认值,我们并未去修改。

挑一些重要的说:

mapType即为我们所想显示的地图,如我们选的安徽(不要带上省市单位,如想显示合肥市,则填合肥即可)

data是我们所选地市名称和面积数据,所以在Python中我们也可以写成字典形式

VisualMap基本就是地图显示的详细信息了,

Type有两个值可以选 continuous和piecewise,前者为连续后者为分段

Min,max是数据范围,即Python中visual_range的参数

inRange内参数color即颜色范围,可以选择多项,当然可以用英文表示,如’skyblue’等

splitNumber是分段,自动分为5段,默认值为5

参数众多,以上挑了一些比较重要的。

如果想要编辑这HTML文件,可以使用记事本打开,还有一个比较好用的文档编辑器notepad++(适用于多种文档),sublime text,Dreamweaver等文件。

如果想要了解更详细的参数,访问这里。

官方文档。

(PS:文档是用word编辑,发表于本人公众号的,超链接一律失效,图片水印为公众号名称,支付宝搜索8282704领红包)

原文出处:https://www.cnblogs.com/cyhezt/p/10177369.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值