Excel 图表中的射线技术(高阶)

2017-08-18  本文已影响0人  刘万祥ExcelPro

最近有朋友看到了我们的物流地图,咨询如何在地图上绘制各省间合作关系的图,类似如下效果。

在之前的帖子中,曾有多次用到在地图上绘制连线、射线的形式,来反映各省间迁徙、物流发运等关系,甚至有多个公司主体之间复杂债务关系的图,具体内容见当时的帖子。

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 来简易做一下,效果还不错,是可以的,如果是有专业要求的工作还是需要找专业工具来做。

在微信公众号 iamExcelPro 回复 “射线”,下载范例文件动手练习。

Excel  /  图表  /  数据  /  可视化

尽在 Excel 图表之道,点击阅读原文立即学习

上一篇下一篇

猜你喜欢

热点阅读