1700427881
作图思路
1700427882
1700427883
对每个区域的图形填充一种颜色后,如果将其设置为不同的透明度,就会显示出不同深浅的效果,透明度越大,颜色越浅。而这个透明度参数可以用各区域指标数据与最大最小值的位置关系折算得出,这样就会得到一个精确、无级填色的热力地图。
1700427884
1700427885
作图步骤
1700427886
1700427887
1700427888
1.准备数据地图模型如图3-3所示,本节以制作一幅世界地图为例进行讲解。
1700427889
1700427890
1700427891
1700427892
1700427893
图3-3 透明度热力地图模型 范例文件名:3.2透明度填色做法.xls(或xlsm)
1700427894
1700427895
假设为B、E列为各国指标数据,D列为将要插入的地图图形的名称,与国家名缩写对应。
1700427896
1700427897
单元格I5、I6使用函数获取所有指标数据中的最大值和最小值。F列为根据指标数据和最大最小值的位置关系折算出的透明度,其公式为:
1700427898
1700427899
F5: =(N_max-E5)/(N_max-N_min)*90%
1700427900
1700427901
即最大值对应的透明度为0,最小值对应的透明度为90%。对此公式的理解,可参见范例文件中的图解。将F5单元格的公式向下复制到整个F列。
1700427902
1700427903
2.准备一个单元格K6,设置好其填充色。此填充色将作为整个地图的基准色。
1700427904
1700427905
3.将准备好的地图图形插入到Excel。注意其命名要与D列的图形名一一对应。
1700427906
1700427907
4.绘制一个矩形框,命名为My_legend,放在地图图形的合适位置,我们在后面将用其作为地图的图例。
1700427908
1700427909
5.编写填色宏代码。
1700427910
1700427911
为获得关键代码,对以下操作录制宏:
1700427912
1700427913
①选中某省图形→设置其填充色→设置其透明度为50%。
1700427914
1700427915
②选中图例图形→设置其填充色→设置其透明度从0%到90%。
1700427916
1700427917
根据获得的宏代码,修改、编写出如图3-4所示的代码。
1700427918
1700427919
1700427920
1700427921
1700427922
图3-4 按透明度填色的宏代码
1700427923
1700427924
这段宏针对每个国家的图形,首先设置其填充色为单元格K6的填充色,然后设置其透明度为F列对应的百分比数值,这样每个图形的填充色就变得深浅不同了。对图例则是先设置为K6的填充色,然后设置出由浅到深的渐变效果。核心代码均通过录制宏得来,Excel 2007以上版本和2003版本可能有所差异,请按录制结果修改。
1700427925
1700427926
使用窗体控件或矩形框绘制一个按钮,显示文字为“填充颜色”,指定宏为本段代码fill_color。
1700427927
1700427928
6.单击测试模型。
1700427929
1700427930
现在单击按钮,你会发现地图图形已对应填色。检查并确认各区域填色的正确性。改变K6的填充色后再单击按钮,你会发现地图已按新的基准色重新绘制!
[
上一页 ]
[ :1.700427881e+09 ]
[
下一页 ]