在统计分析全国综合指标的时候,需要将不同省份的数据用颜色表示出来,如何绘制一个完整的、准确的统计地图是个值得深入研究的问题。
目前有现成的Excel版分省地图生成模板,如图一所示。但是存在两个问题:生成地图清晰度太低、中国台湾省无法被色彩渲染。
图一 Excel数据地图生成模板
因此考虑其他途径生成完整而准确的分省地图。
准备工作
确定不同颜色所代表的不同数值范围。地图主题色调自定义为蓝色,打开Sketch,快捷键R拖出一个矩形,选择填充色为"#1D4898",透明度100%。复制粘贴九次,得到十个大小颜色完全一致的矩形。将矩形的透明度依次改为:4%、10%、20%、30%、40%、50%、60%、70%、80%、100%。如图二所示。
图二 削减透明度得到矩形
使用Sketch的取色工具对十个矩形进行取色,得出十种颜色的值为:'#1D4898','#4A6DAD','#607EB6','#7791C1','#8EA3CB','#A5B6D6','#BBC8E0','#D2DAEA','#E8ECF4','#F6F8FB' (颜色由深入浅)。
接下来开始使用绘制工具绘制。
方法一:使用ECharts工具绘制
ECharts是百度出品的作图工具,打开网站ECharts · Example :实例-地图-标准地图,如图3,这是一个iPhone全国销量分布的demo。在此基础上我们进行修改,以达到所需要的效果。
图三 iPhone全国销量分布
在左侧的代码编译区进行编辑。不清楚是什么语言,但是读起来基本上没难度。
配置信息:
设置比色卡
工具条配置:
各省数据配置:
刷新,得到图四的效果图。
图四 ECharts效果地图
最后用Sketch处理,遮盖住比色卡、工具条,画上我们自己的比色卡,导出3x倍图,得到最终效果:
图五 最终效果
方法二 Basemap绘制
语言:Python3
Basemap属于Python的地图绘制包,具体请参照这两个帖子进行基本配置:
SegmentFault 01
SegmentFault 02
地图存在三个问题:
1、遍历省名的时候,黑龙江是繁体:"黑龍江"
2、中国台湾需另导入中国台湾省shapefile文件,大陆并没有包含进中国台湾省
3、藏南地区没有显示完整。
上代码:
效果如图:
图六 红色藏南地区
红色块为藏南地区,但是和实际的中国版图是有出入的。所以python实现的效果是有很大缺陷的。
解决途径:
1、找到准确的大陆shapefile文件
2、按照藏南地区的经纬度进行色彩渲染,但是时间较短,对basemap的研究浅尝辄止,需要高手进行进一步的完善。
领取专属 10元无门槛券
私享最新 技术干货