在職場中,進行資料處理和分析的時候,難免會遇到動態的資料,而且有較多分類,這時需要清晰的表現出來就需要用到“熱力型資料地圖”。以我的資料為例,做一遍。
工具/原料
office2007以上
資料
一、
找一張向量圖形檔案,其檔案字尾名一般為.WMF、.AI、.EPS、.CDR等,如我選擇中國地圖,匯入EXCEL表。
在放大檢視下,使用插入->形狀->線條->曲線,按照地圖輪廓進行勾描,每個區勾描成一個封閉小塊,最後形成一個全市分割槽的自選圖形地圖。
有了地圖圖形後,我們開始製作地圖的引擎模型。
假設我們的資料來源如下,例子檔案中D列資料為各省2013年GDP總值。(自己擬定的,以此舉例)
二
為自選圖形命名。
我們為每個省的圖形命名。如選中山西省的圖形,在左上角的名稱框中輸入山西,回車,則這個圖形被命名為山西,後面會用這個名稱來引用這個圖形。逐一完成所有區域圖形的命名。
設定資料分檔閥值和圖例。
為模型定義名稱和公式。
RegData==Sheet1!$N$2:$O$32 源資料區域
ActReg==Sheet1!$C$39 臨時存放“當前區域”的拼音名,如山西
ActRegValue==Sheet1!$C$40 臨時存放“當前區域”的指標值,如12113
=VLOOKUP(ActReg,RegData,2,FALSE)
ActRegCode1==Sheet1!$C$41 臨時存放“當前區域”的顏色程式碼,如color4
=VLOOKUP(ActRegValue,L38:M43,2,TRUE)
ActRegCode2==Sheet1!$C$42 臨時存放“當前區域”的顏色程式碼,如color6
=VLOOKUP(C40,L44:M44,2,TRUE)
color1==Sheet1!$I$8 填色程式碼1,指向I38
color2=Sheet1!$I$9 填色程式碼2,指向I39
color3=Sheet1!$I$10 填色程式碼3,指向I40
color4=Sheet1!$I$11 填色程式碼4,指向I41
color5=Sheet1!$I$12 填色程式碼5,指向I42
color5=Sheet1!$I$12 填色程式碼5,指向I43
color5=Sheet1!$I$12 填色程式碼5,指向I44
製作填色按鈕和取消填色按鈕。
繪製一個按鈕,開發工具-插入-控制元件-按鈕。為其指定如下巨集程式碼:
按鈕1:
For i = 2 To 32 '為資料來源的起始和結束行號,根據區域的多少來定
Range("ActReg").Value = Range("sheet1!N" & i).Value ’將C列的拼音名填入“當前區域”,即K17
ActiveSheet.Shapes(Range("ActReg").Value).Select
’選中“當前區域”對應的圖形
Selection.ShapeRange.Fill.ForeColor.RGB = Range(Range("ActRegCode1").Value).Interior.Color
’將選中的圖形填充以“當前區域”的顏色程式碼所指向的單元格的填充樣式
Next i
按鈕2:
For i = 2 To 32
Range("ActReg").Value = Range("sheet1!N" & i).Value
ActiveSheet.Shapes(Range("ActReg").Value).Select
Selection.ShapeRange.Fill.ForeColor.RGB =Range(Range("ActRegCode2").Value).Interior.Color
Next i
按鈕2是為了取消填色準備的。也可以不用。
如程式碼中的註釋所說明,這段巨集對每一個區域,將其拼音名填入K17,(這時K18會根據K17的拼音名,查詢返回相應的指標值;K19又會根據K18的指標值,查詢返回相應的顏色程式碼),然後巨集把顏色程式碼作為名稱所指向的單元格的填充樣式複製到當前區域的圖形進行填充。
點選按鈕,當巨集迴圈完成,每個區域的圖形就被根據其數值大小,填充了相應的顏色。
注意事項
至此,一個層析填色型的熱力地圖工具就完成了。需要使用的時候,我們只需要3個步驟: ● 填入你的資料; ● 設定分檔閥值和填充圖例; ● 按下填色按鈕,生成熱力地圖。
難以理解的就是那個“臨時存放”的定義,相當於一個講臺,老師不同,內容也就不同。