pyecharts绘制地图
最近写PPT需要整个总结性的图,找来找去还是python简单一点,废话不多说,记录一下自己的心得吧。
一、初始简单图片
这里用新疆举例,因为新疆地块图比较不规整(是不是名字太长,点位太近,迷了眼,文章后面会说怎么调整能更好一点)
附代码:
from pyecharts.charts import Map # 注意这里与老版本pyecharts调用的区别
from pyecharts import options as opts
import randomtitlename = "新疆GDP"
city = ['乌鲁木齐市','昆玉市','哈密市','巴音郭楞蒙古自治州','吐鲁番市','阿勒泰地区','北屯市','塔城地区','克拉玛依市','双河市','博尔塔拉蒙古自治州','可克达拉市','伊犁哈萨克自治州','昌吉回族自治州','石河子市','阿克苏地区','阿拉尔市','巴音郭楞蒙古自治州','喀什地区','克孜勒苏柯尔克孜自治州','图木舒克市','铁门关市','五家渠市']#这个给对应的市附上数值
data_city = [(i, random.randint(100, 200)) for i in city]#当然,data_city也可以自己设置数值,如下
#[('乌鲁木齐市', 170), ('昆玉市', 171), ('哈密市', 106), ('巴音郭楞蒙古自治州', 140), ('吐鲁番市', 127), ('阿勒泰地区', 109), ('北屯市', 119), ('塔城地区', 115), ('克拉玛依市', 195), ('双河市', 148), ('博尔塔拉蒙古自治州', 171), ('可克达拉市', 120), ('伊犁哈萨克自治州', 127), ('昌吉回族自治州', 176), ('石河子市', 157), ('阿克苏地区', 134), ('阿拉尔市', 145), ('巴音郭楞蒙古自治州', 138), ('喀什地区', 200), ('克孜勒苏柯尔克孜自治州', 193), ('图木舒克市', 143), ('铁门关市', 183), ('五家渠市', 127)]china_city = (Map().add(series_name=titlename,data_pair=data_city,maptype="新疆",is_map_symbol_show=True, #此处控制在地图上是否显示红点,data_city中有的市名才会在地图中显示红点呦label_opts=opts.LabelOpts(is_show=True), #此处控制在地图上是否显示名称).set_global_opts(title_opts=opts.TitleOpts(title=titlename),visualmap_opts=opts.VisualMapOpts(min_=0,max_=15,is_piecewise=True #定义左下角图例为分段型,默认为连续的图例),).render(titlename+".html")
)#执行过后同级会生成一个“新疆GDP.html”文件,后面会用到
二、名称优化
对于名称过长的市,可以在add中增加name_map属性来调整,但是需要注意,修改别名后,对应data_pair中的市名也需要跟别名一致,我这里的别名带上了对应的数值,所以data_city参数也要跟别名一致
from pyecharts.charts import Map # 注意这里与老版本pyecharts调用的区别
from pyecharts import options as opts
import randomtitlename = "新疆GDP2"
# 这个给对应的市附上数值
data_city = [('阿克苏:1',1),('阿勒泰:2',2),('巴州:3',3),('博州:4',4),('昌吉:5',5),('哈密:6',6),('和田:7',7),('喀什:8',8),('克拉玛依:9',9),('克州:10',10),('石河子:11',11),('塔城:12',12),('吐鲁番:13',13),('乌鲁木齐:14',14),]
name_map = {
'阿克苏地区':'阿克苏:1','阿勒泰地区':'阿勒泰:2','巴音郭楞蒙古自治州':'巴州:3','博尔塔拉蒙古自治州':'博州:4','昌吉回族自治州':'昌吉:5','哈密市':'哈密:6','和田地区':'和田:7','喀什地区':'喀什:8','克拉玛依市':'克拉玛依:9','克孜勒苏柯尔克孜自治州':'克州:10','石河子市':'石河子:11','塔城地区':'塔城:12','吐鲁番市':'吐鲁番:13','乌鲁木齐市':'乌鲁木齐:14',
'铁门关市':'-','阿拉尔市':'-','图木舒克市':'-','可克达拉市':'-','北屯市':'-','双河市':'-','昆玉市':'-','五家渠市':'-'
}china_city = (Map().add(series_name=titlename,data_pair=data_city,maptype="新疆",is_map_symbol_show=False,label_opts=opts.LabelOpts(is_show=True),name_map=name_map).set_global_opts(title_opts=opts.TitleOpts(title=titlename),visualmap_opts=opts.VisualMapOpts(min_=0,max_=15,is_piecewise=True),).render(titlename+".html")
)
系不系清凉了许多,继续
三、红点和名字位置调整:
我们选择文档打开方式打开html文件会发现,echarts.min.js和xinjiang.js使用的是在线文档,所以无法变更在线文档的坐标信息来改变红点和名称位置。
新疆的坐标位置保存在xinjiang.js文件中,可以通过everything来找到本地的xinjiang.js文件,打开后会发现每个市前面都会对应一个经纬度坐标,可以通过调整这个坐标来控制图内名称的显示。
将xinjiang.js和html文件放在一起,把html中的xinjiang.js改为本地js文件路径,我这里设置的是同级目录:
展示下修改了坐标之后的图形,是不是又好一点了呢
四、颜色自定义
如果小伙伴觉得颜色不如意也可以自己设置
.set_global_opts(title_opts=opts.TitleOpts(title=titlename),visualmap_opts=opts.VisualMapOpts(pieces=[{"max": 20, "min": 10, "label": ">10", "color": "#0000CD"},{"max": 9.99, "min": 9, "label": "9-10", "color": "#0000FF"},{"max": 8.99, "min": 6, "label": "6-9", "color": "#00BFFF"},{"max": 5.99, "min": 5, "label": "5-6", "color": "#00BFFF"},{"max": 4.99, "min": 4, "label": "4-5", "color": "#87CEFA"},{"max": 3.99, "min": 3, "label": "3-4", "color": "#87CEEB"},{"max": 2.99, "min": 2, "label": "2-3", "color": "#ADD8E6"},{"max": 1.99, "min": 1, "label": "1-2", "color": "#B0E0E6"},{"max": 0.99, "min": 0, "label": "0-1", "color": "#F0F8FF"},],is_piecewise=True #这里别写False,不然不是分段型的),
)
五、拼接
可能小伙伴想要拼接两个省,可以使用多加一个add进行追加,不过产生的图形需要自己挪动进行拼接,这里我也没找到好的方法可以自动生产╮(╯▽╰)╭,有大佬知道求告知啊
这里是可以拖拽的
.add(series_name=titlename,data_pair=data_city,maptype="新疆",is_map_symbol_show=False,label_opts=opts.LabelOpts(is_show=True),name_map=name_map).add(series_name=titlename,data_pair=data_city,maptype="西藏",is_map_symbol_show=False,label_opts=opts.LabelOpts(is_show=True),name_map=name_map)
六、其他
maptype可以定义多种多样,目前常用的几种有:
1.全球-所有国家: world
2.全国-所有省份:china
3.全国-所有城市:china-cities
4.省/市:省/市名称
希望总结的东西能让大家少走弯路,一起在阳光的大路上越走越远
pyecharts绘制地图相关推荐
- Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图
Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图 目录 利用pyecharts绘制地图十多个地区流动轨迹动态图 Geo(GeoChartBase)函数 相关文章 ...
- 第4章【思考与练习2】数据文件high-speed rail.csv存放着世界各国高速铁路的情况。对世界各国高铁的数据进行绘图分析。使用Basemap绘制地图及使用Pyecharts绘制地图。
目录 P84思考与练习2 方法一:使用Basemap绘制地图 方法二:使用Pyecharts绘制地图 P84思考与练习2 1.叙述各类图形的特点.适合展示的数据特性,以及在数据探索阶段的用途. 函数绘 ...
- python绘制地图线路_python pyecharts绘制地图
效果 本文使用python库--pyecharts绘制地图,修改标签样式并调色.重点在于参数调用方法(理解Union[Sequence[str]]或者看源码). 效果如图: image.png 工具与 ...
- python pyecharts绘制地图
文章目录 效果 工具与配置 实操 效果 本文使用python库--pyecharts绘制地图,修改标签样式并调色.重点在于参数调用方法(理解Union[Sequence[str]]或者看源码). 效果 ...
- 使用pyecharts绘制地图
使用pyecharts绘制交互式动态地图 实验环境配置 安装pyecharts 环境 利用Geo绘制地理坐标图表 导入模块 1. 基本图表 基本示例 Geo()模块功能函数: 全国各省xx数据分布 H ...
- python使用pyecharts绘制地图
pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Pyt ...
- python中pyecharts绘制地图
pyecharts中的Geo 地理坐标系组件用于地图的绘制,可直接使用全国的城市信息. 使用前先安装相关地图扩展包: pip install echarts-countries-pypkg pip i ...
- [710]python使用pyecharts绘制地图
pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Pyt ...
- pyecharts 绘制地图
同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! # 导入相关包 from pyecharts import options as opts from pyecha ...
- [Pyhon大数据分析] 二.PyEcharts绘制全国各地区、某省各城市地图及可视化分析
思来想去,虽然很忙,但还是挤时间针对这次YQ写个Python大数据分析系列博客,包括网络爬虫.可视化分析.GIS地图显示.情感分析.舆情分析.主题挖掘.威胁情报溯源.知识图谱.预测预警及AI和NLP应 ...
最新文章
- 物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)
- python dict批量选择_Python 中有 3 个不可思议的返回功能
- 微信jssdk开发,PHP,必要步骤
- oracle实验四运动会,实验四oracle的安全性和完整性控制
- 戴尔电脑正在准备自动修复_戴尔如何建立社区为开放的未来做准备
- 为什么阿里规定需要在事务注解 @Transactional 中指定 rollbackFor?这...
- python中%的用法_python中%的用法
- 密码库LibTomCrypt学习记录——(1.0)分组密码算法——概述
- 局域网虚拟服务器的工作模式,三种虚拟局域网实现方式有哪些差异?实现虚拟局域网的工具推荐...
- 安捷伦频谱仪的使用方法图解_安捷伦N9020A频谱仪操作说明
- 弹性均质圆环法计算过程_均质圆环胎刚体的转动惯量
- QT控件 之(TreeView)实现右键菜单栏功能,双击事件能实现区分不同的节点的点击效果
- c语言编程基础实验结果与分析,C语言实验指导1--C语言编程基础.doc
- 亚马逊AWS学习——EC2实例无法正确加载EBS卷问题的解决
- 阿里云迎来了又一轮“刚需”
- zoj3380 Patchouli's Spell Cards
- boost库在工作(25)任务之五
- 生命科学名言15:免疫
- CSS--弹性布局(Flex-Layout)
- android 8 荣耀9,华为荣耀8和华为荣耀9对比评测,华为荣耀真的很强