最近有朋友看到了我们的物流地图,咨询如何在地图上绘制各省间合作关系的图,类似如下效果。
在之前的帖子中,曾有多次用到在地图上绘制连线、射线的形式,来反映各省间迁徙、物流发运等关系,甚至有多个公司主体之间复杂债务关系的图,具体内容见当时的帖子。
Excel制作中国迁徙数据地图
在地图上分析供应链/销售/物流网络
在地图上分析供应链物流网络-中国区版
Excel物流地图分析模板 - 全球版
三角债,理还乱?用“债务关系网络图”,DUANG的一下就清晰了!
以上模型都是 Excel 知识和技巧的全面综合运用,难度较高,不过其中最主要的特征,就是这些连线和射线,今天我们拎出来单独介绍其绘制方法。
你看到的这些连线、射线,其实是使用带联系的散点图来绘制的,你需要准备好连线起止点的经纬度数据,作为xy数据来绘制散点图。
我们做个简单模型例子来讲解。如下图,选择某个省份,绘制从该省份到其他省份的射线连接。
(射线技术简单模型讲解)
首先你要找到各省省会城市的经纬度坐标,图中的F~H列是我找到的数据,另外找到一份中国地图图片作图底图。下面开始制作模型。
1、制作起始点的选择器,并根据选择结果提取起始点的经纬度。
B8 设置数据有效性,数据源为F列省名。用户选择后,C8、D8从 F~H 列 vlookup 提取其经纬度。
2、准备射线散点图的数据源。
射线有34条,那么射线起止点有68个,所以 J、K 列需要准备68行数据。注意J8的公式写法技巧:
J8:=IF(MOD($I8,2),C$8,INDEX(G$8:G$41,$I8/2))
复制到整个区域,即准备好了散点图的xy数据源,请仔细体会这里的原理。
3、制作射线图。
以J、K列数据插入带连线的散点图,就得到了射线图。
射线可能需要有省份名称标签,我们先准备一个复选框供选择是否显示标签,选择结果在L6,L列的公式:
L8:=IF($L$6,IF(MOD($I8,2),"",INDEX(F$8:F$41,$I8/2)),"")
复制到底,就在终点数据点上准备了省份名称标签。散点图添加数据标签,指定为L列。勾选复选框,测试正确。
4、完成射线和地图组合。
把散点图设置透明,放置在地图底图上,调整大小和位置,使各终点基本和地图对齐,完成射线地图。选择起点省份、复选框,测试显示结果正确,完成。
动态演示效果如下图:
之所以说基本对齐,是因为地图投影关系,你找到的地图底图可能和散点图的终点不能刚好对齐,这也是本做法的缺点之一。
以上是简单模型,解释其技术原理。在前面的例图里,都要复杂一些。
1、物流地图需要画出箭头,那么每条线段要和下一条分开,在第2步准备数据时,需要在每对起止点数据间留空行,使线条断开。需要在线段上标出数字,那么需要另准备一组散点图了。发运终点有多有少,准备xy数据时需要根据情况来填充了。
2、债务关系图里,它的xy坐标不是经纬度了,而是我们计算得出的这些公司在圆圈上分布的坐标了。债务关系有双向的,两个公司间可能要画两条线条,数据准备可以分开准备。
当然,这些都属于复杂、高级的图表了,对 Excel 来说很有难度,目前有其他工具如各种网络图、ggplot等绘制起来会更容易。
作为日常工作简易使用,像这样采用 Excel 来简易做一下,效果还不错,是可以的,如果是有专业要求的工作还是需要找专业工具来做。
回复 “射线”,下载范例文件动手练习。
Excel / 图表 / 数据 / 可视化
尽在 Excel 图表之道,点击阅读原文立即学习