如何製作中國地圖的熱力地圖?

熱力地圖就是將數據與地圖區域結合,以不同顏色亮度的形式顯示區域的數據範圍以及不同區域之間的結果對比。常用於分析一個整體區域中不同區域所處的結果範圍和區域間的結果對比分析。

工具/原料

電腦
Excel

方法/步驟

之前講過數據地圖的製作,相比於數據地圖,熱力地圖有著明顯的區別。大家在選擇使用數據地圖還是熱力地圖時可以根據以下幾點區別選擇正確的圖表:

第一,數據地圖是以地圖為基礎,用以指示其他數據圖表如氣泡圖、柱形圖放置的位置,地圖本身不參與數據計算。熱力地圖則是作用於地圖本身,地圖是數據結果的直接載體;

第二,數據地圖呈現的是精確地數據結果,而熱力地圖則是通過顏色的深淺體現各區域結果的數據範圍,不同區域可能數據結果不同,但如果在同一範圍內,那麼其呈現的結果是一樣的

第三,數據地圖的地圖可以是圖片形式,其內部各區域可以不能被單獨編輯,而熱力地圖中的地圖多為矢量圖,每個單獨的區域必須可以被單獨編輯。

在製作熱力地圖前,我們首先需要準備好一幅矢量地圖,以中國行政地圖為例,需要每個省份的行政區劃地圖都可以被單獨編輯。如下圖:

另外,由於此圖表的製作還需要用到VBA程序,所以在製作前請確保你的Excel已經啟用宏,並添加了「開發工具」菜單。

「開發工具」菜單的添加方式為:「文件」——「選項」——「自定義功能區」——主選項卡——勾選「開發工具」

添加完成後回到Excel頁面,菜單欄中就會出現「開發工具」菜單,如下圖:

然後開始製作,熱力地圖的製作步驟如下:

第一步:準備數據引用區域和圖例;

第二步:建立臨時存放各類數據的單元格區域,包括三個值:區域名、區域對應的數據結果,以及區域對應的顏色。可以選定任意空單元格進行放置。

第三步:對各區域或單元格進行重命名,即選擇相應的區域或單元格然後對其進行重命名。例如選擇$J$3單元格,然後在名稱框中輸入「Actreg」並回車,這樣就對此單元格名稱進行了重新定義。以此類推,將以下區域全部重命名。

第一個單元格,命名為:Actreg,用於臨時存放「當前區域」的拼音名,如「hubei」

第二個單元格命名為:ActregValue,用於臨時存放「當前區域」的指標值,如「8633」

第三個單元格,命名為「Actregcode",用於臨時存放」當前區域「的顏色代碼,如"Color4".

然後將有淺到深的色塊一次命名為Color1,color2,color3……

將如下省份拼音和數據的區域單元格命名為RegData

分別對$J$4單元格和$J$5單元格設置公式如下:

$J$4:=VLOOKUP(Actreg,RegData,2,0)

對$J$5單元格設置公式如下:

$J$5:=VLOOKUP(ActregValue,$G$3:$H$7,2,TRUE)

對地圖匯中每個行政區域的矢量圖進行一一重命名,且必須與數據區域中的省份拼音一致;

在「開發工具」菜單選擇插入「按鈕」,在地圖上方插入一個按鈕;

選擇按鈕,並雙擊,打開Visual Basic編輯器,並輸以下代碼:

Private Sub CommandButton1_Click()

For i = 4 To 34

Range("ActReg").Value = Range("sheet1!b" & i).Value

ActiveSheet.Shapes(Range("ActReg").Value).Select

Selection.ShapeRange.Fill.ForeColor.RGB =Range(Range("ActRegCode").Value).Interior.Color

Next i

End Sub

保存並關閉VBA編輯器,回到Excel界面,點擊按鈕,地圖就可以根據各區域值的範圍填充相對應的顏色了。

可以對按鈕名稱進行重命名,在「開發工具」菜單中單擊「設計模式」按鈕,然後單擊按鈕,點擊右鍵並選擇「屬性」,打開屬性對話框。在Caption屬性中將其改為「更新顏色」,這樣按鈕就被重新命名。

這樣,一幅熱力地圖就完成了,雖然過程比較複雜,但是我們可以將其作為模板,以後的更新中只需要更新相應的數據和圖例區域就可以了。

除了中國地圖之外,我們也可以將其他地圖像這樣製作成熱力地圖模板。

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場