最近写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绘制地图相关推荐

  1. Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图

    Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图 目录 利用pyecharts绘制地图十多个地区流动轨迹动态图 Geo(GeoChartBase)函数 相关文章 ...

  2. 第4章【思考与练习2】数据文件high-speed rail.csv存放着世界各国高速铁路的情况。对世界各国高铁的数据进行绘图分析。使用Basemap绘制地图及使用Pyecharts绘制地图。

    目录 P84思考与练习2 方法一:使用Basemap绘制地图 方法二:使用Pyecharts绘制地图 P84思考与练习2 1.叙述各类图形的特点.适合展示的数据特性,以及在数据探索阶段的用途. 函数绘 ...

  3. python绘制地图线路_python pyecharts绘制地图

    效果 本文使用python库--pyecharts绘制地图,修改标签样式并调色.重点在于参数调用方法(理解Union[Sequence[str]]或者看源码). 效果如图: image.png 工具与 ...

  4. python pyecharts绘制地图

    文章目录 效果 工具与配置 实操 效果 本文使用python库--pyecharts绘制地图,修改标签样式并调色.重点在于参数调用方法(理解Union[Sequence[str]]或者看源码). 效果 ...

  5. 使用pyecharts绘制地图

    使用pyecharts绘制交互式动态地图 实验环境配置 安装pyecharts 环境 利用Geo绘制地理坐标图表 导入模块 1. 基本图表 基本示例 Geo()模块功能函数: 全国各省xx数据分布 H ...

  6. python使用pyecharts绘制地图

    pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Pyt ...

  7. python中pyecharts绘制地图

    pyecharts中的Geo 地理坐标系组件用于地图的绘制,可直接使用全国的城市信息. 使用前先安装相关地图扩展包: pip install echarts-countries-pypkg pip i ...

  8. [710]python使用pyecharts绘制地图

    pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Pyt ...

  9. pyecharts 绘制地图

    同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! # 导入相关包 from pyecharts import options as opts from pyecha ...

  10. [Pyhon大数据分析] 二.PyEcharts绘制全国各地区、某省各城市地图及可视化分析

    思来想去,虽然很忙,但还是挤时间针对这次YQ写个Python大数据分析系列博客,包括网络爬虫.可视化分析.GIS地图显示.情感分析.舆情分析.主题挖掘.威胁情报溯源.知识图谱.预测预警及AI和NLP应 ...

最新文章

  1. 物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)
  2. python dict批量选择_Python 中有 3 个不可思议的返回功能
  3. 微信jssdk开发,PHP,必要步骤
  4. oracle实验四运动会,实验四oracle的安全性和完整性控制
  5. 戴尔电脑正在准备自动修复_戴尔如何建立社区为开放的未来做准备
  6. 为什么阿里规定需要在事务注解 @Transactional 中指定 rollbackFor?这...
  7. python中%的用法_python中%的用法
  8. 密码库LibTomCrypt学习记录——(1.0)分组密码算法——概述
  9. 局域网虚拟服务器的工作模式,三种虚拟局域网实现方式有哪些差异?实现虚拟局域网的工具推荐...
  10. 安捷伦频谱仪的使用方法图解_安捷伦N9020A频谱仪操作说明
  11. 弹性均质圆环法计算过程_均质圆环胎刚体的转动惯量
  12. QT控件 之(TreeView)实现右键菜单栏功能,双击事件能实现区分不同的节点的点击效果
  13. c语言编程基础实验结果与分析,C语言实验指导1--C语言编程基础.doc
  14. 亚马逊AWS学习——EC2实例无法正确加载EBS卷问题的解决
  15. 阿里云迎来了又一轮“刚需”
  16. zoj3380 Patchouli's Spell Cards
  17. boost库在工作(25)任务之五
  18. 生命科学名言15:免疫
  19. CSS--弹性布局(Flex-Layout)
  20. android 8 荣耀9,华为荣耀8和华为荣耀9对比评测,华为荣耀真的很强

热门文章

  1. Spring 创建切面
  2. dataframe按照拼音排序
  3. 算法设计与分析——背包问题(Java)
  4. Outlining and Hiding Code----feature
  5. 【Canvas】字体图标一、 Unicode 字体符号绘制 / 兼容IE
  6. 绕过apple id的那些事
  7. 工控安全入门常用逻辑编程
  8. wps中将文档输出为pdf_如何将WPS文件转换为PDF格式
  9. K近邻法(KNN)与k-Means的区别
  10. web文件管理系统_实用开源项目,基于Web的文件管理系统——DocSys