1700428791
5.2 切换时间维度的动态数据地图
1700428792
1700428793
一幅静态的数据地图只能反映一个时期或时间点的数据分布特点,如果有多个时期的数据怎么办呢?这时就需要能对数据地图动态切换时间周期。还记得3.1节的热力地图吗,现在我们要给它增加一个切换时间维度的功能,让用户可以分析多个时间周期的数据分布。
1700428794
1700428795
作图思路
1700428796
1700428797
提供一个选择器,让用户可以选择时间维度。根据用户的选择,将所选当期的数据“传递”给地图模型,模型则根据设定的分档阈值进行填色并刷新地图。
1700428798
1700428799
作图步骤
1700428800
1700428801
1700428802
1.构建动态地图模型。
1700428803
1700428804
在3.1节分档填色地图模型的基础上,进行改造之后如图5-5所示。
1700428805
1700428806
1700428807
1700428808
1700428809
图5-5 可以切换时间维度的动态数据地图模型 范例文件名:5.2切换时间维度的动态数据地图.xls(或.xlsm)
1700428810
1700428812
1700428813
map工作表为模型的地图生成和演示界面,各部分的设置与3.1节基本类似,后续步骤下文再讲解。
1700428814
1700428815
2.设置分档阈值和图例。
1700428816
1700428817
设置分档阈值和图例的方法同3.1节。由于数据有12个周期,我们要根据所有期间数据的取值范围来设置分档阈值,这样每一年的地图分档填色才有共同的参照标准。为更精确地反映数据,本例中设置了9个分档。
1700428818
1700428819
3.制作时间选择器。
1700428820
1700428821
现在制作一个选择器以供用户选择时间周期。考虑到向右具有时间变化的象征意义,我们在地图下方绘制一个滚动条窗体控件,作为年份选择器。设置最小值为2001,最大值为2012,步长为1,选择结果链接存放到单元格C9。若是12个月的数据,最小值和最大值可以分别设为1和12。
1700428822
1700428823
4.准备所选当期的数据。
1700428824
1700428826
1700428827
C11: =VLOOKUP(B11,data!$B$11:$O$44,map!$C$9-2000+2,0)
1700428828
1700428829
5.将绘制地图的宏赋给滚动条。
1700428830
1700428831
窗体控件有一个好处是可以指定宏,每次控件被选择时,就会触发宏动作。还是利用3.1节中的地图填色宏fill_color,将其指定给滚动条。
1700428832
1700428833
这样,当调整滚动条时,记录选择结果的C9单元格会变化,C列就会变化为所选当期的数据。而滚动条同时会触发绘制地图的宏,以C列的当期数据参照统一的图例阈值来刷新地图的填充色!这就是动态地图的效果。
1700428834
1700428835
6.制作一个自动播放的按钮。
1700428836
1700428837
如进一步完善的话,我们可以提供一个可以自动切换年份的播放按钮。绘制一个按钮,为其编写如图5-6所示的宏代码。
1700428838
1700428839
[
上一页 ]
[ :1.70042879e+09 ]
[
下一页 ]