上一帖子介绍了 Office 365 预览版中的“着色地图”,在 Power BI 预览版中也增加了这种形式的地图,不过叫“形状地图”,而“着色地图”是另一种地图形式,是在 bingmap 上的热力地图。从这名称叫法的不一致,就可以看到微软不同开发团队之间的沟通协调是不够的。
因为目前是预览功能,所以需要打开设置才能看见,在文件-选项-预览,勾上 形状映射视觉对象 即可。
这样,在可视化视觉对象面板的最后,就出现了一个只有半个美国的小图标,这就是形状地图。
同样遗憾的是,这个 形状地图,只支持美、英、法等少数西方国家,没有中国地图。想起在 R 语言里的地图包,也是只有少数西方国家,没有中国。这真是个问题,中国这么大,难道这些公司都视而不见?
不过,Power BI 留了个“添加地图”的口子,用户可以导入自定义地图形状。点击后,发现需要 .json 格式的文件。
查了一下,.json 是一种地图格式,用记事本打开可以看到其实就是很多个点的经纬度数据。要在网上找到中国地图的 .json 文件并不是件容易的事情,我使用之前在 R语言画地图贴子里的 bou2_4p.shp 和 bou2_4p.dbf 这两个文件(见http://blog.sina.com.cn/s/blog_6bc5205e0102vma9.html),转换出一个 topoJSON 格式的 bou2_4p.json 文件,可以在这里使用。
打开Power BI desktop,加载你的数据,我这里是各省 GDP 数据,包括3列字段,省名、NAME 和指标,省名是常用简写的省名,NAME 是规范的各省名全称。
添加“形状地图”视觉对象,指定数据,位置使用 NAME 字段,色彩饱和度使用 指标 字段。
这时你看到的是个灰色的美国地图,在刷子图标-形状 选项卡下,点“添加地图”,指定为刚才准备好的 bou2_4p.json 文件,就得到了不同深浅颜色填充的中国地图。把投影选择为 irthograpic,中国地图的显示视角合适。这才是我想要的数据分析热力地图。
这个 bou2_4p.json 文件是根据官方文件转换来的,因此中国地图完全正确,可以放心使用。
在这里点 查看地图键,可以看到 NAME 列,所以我们准备数据源的时候,要准备 NAME 那一列,这样可以保证 Power BI 能够准确地识别。
Power BI 的报表或者仪表板可以发布为网页,发送给别人网页浏览时是不再需要那个 bou2_4p.json 文件的。
比如这个案例发布的网页是:http://t.cn/RI7t5uW,你可以复制链接到浏览器可以体验一下,各省形状都是可以鼠标悬停显示标签,点击突出显示。也可以嵌入到 PPT 里动态演示,方法可参见《经济学人的动态图表与交互设计》第13章,http://study.163.com/course/courseMain.htm?courseId=1003226022。
联系客服