
关于这个难题,制作数据地图的方式已不新奇,总体来说有这么几类方案:
一类方案:直接在excel里制作
优势:个人小数据量应用较为方便简洁
缺点:需要熟悉VBA,且更强大的功能对VBA水平要求较高
1、绘制地图图形 + VBA宏语言
思路:用插入图形"任意多边形"绘制地图;每一个"任意多边形"赋予正确名称;对"任意多边形"赋值;利用VBA对"任意多边形"的值进行操作, 例如上色。
先打算一张所应该的地图图片,网上都有,可以下载
然后运用插入绘制多边形图片将地图中的区域图层
选定好的区域可以在左上角设置名称

将数据表中的数据和地图中的地区做关联,这里还要用到VBA了。
代码:
Sub ProvRefill()
ActiveSheet.Shapes.Range(Array("shandong")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = -0.5
.Transparency = 0
.Solid
End With
End Sub
这段代码是设置地图所选区域的样式的,其他用途类似,懂VBA的会感觉简单,不懂的可以自行百度。
2、EXCEL插件集成
这类软件有很多,推荐Power Map for Excel 2013,安装好以后,选择数据区域,启动就行
二类方案:其他硬件
优势:地图已集成在内,可联结,已有功能强悍大数据量处理带有优势
缺点:自定义开发对人员水平规定较高,较困难

这一类工具一般是数据可视化的硬件,能用到EXCEL数据源的,现在比较普遍的是报表软件和所谓商业智能大数据工具。
不多说,大家可能认为陌生,那就直接上例子。
这里介绍FineReport(功能强大最实际的报表软件)
展示数据地图不在话下,关键有地图钻取功能。
所谓钻取就是:比如你点击山东省,进入山东省省地图,显示山东省各市的数据,数据的展现形式可以使用其他图表,比如条形图、气泡图等等。
详细步骤:
1、准备数据源
将excel的数据导出到这个报表设计器里,如果你的excel数据是取自于的话,可以直接从设计器里调用的数据。
2、合并一片单元格,点击菜单栏中的插入>单元格元素>插入图表,选择地图,然后单击确认,如下图:(这里声明一下,这个工具类似于EXCEL,所以一些操作用语何以类比于EXCEL)

1、选择地图种类,国家地图、省级地图还是其他云云,或者你有自定义的SVG地图也行。这里注意,地图的区域名要和区域数据字段的名字对应。
个人认为钻取才是其亮点,所以这里一定要介绍一下。
钻取:
定义好地图的类别以后,就可以为地图定义数据来源了,选中地图mapinfo热力图,点击图表属性表-数据,进入数据修改面板,地图展示形式选取多层钻取,如下图:
从上图可以看见,钻取层级下有个中国的文件夹,双击即可开启查看中国上面的省份,选中中国文件夹mapinfo热力图,右击,则会弹出层级设置对话框,如下图:
要实现点击山东省能出现一张柱状图,这个貌似是两张图表关联的,所谓“联动”。
联动:

合并一片单元格,点击插入>单元格元素>插入图表,选择柱形图,点击确认即可添加一张柱形图。
柱形图的数据来源:(这里我都是直接用的数据源)
在此,地图和柱形图都已经修改好了,如果要推动联动,需要在修改交互属性。
选中地图,在图例属性表中选取特效,点击交互属性,添加一个超级链接,即单击,添加一个图表超链-联动单元格,设置如下图:
到这里基本就完成了,感觉自己做得图有些low,别毁了人家名声,其实人家功能很强悍,可视化很炫的。
另附几张图:

其他工具的话,还有商业智能可视化类的tableau,FineBI,可能对大家比较陌生,就不做教程介绍了。
总之,利用excel中的数据源制作地图图表方式多多,不当之处还请指正。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-120625-1.html
俺们成熟了