關于這個問題,制作數據地圖的方法已不新奇,總體來說有這么幾類方案:
一類方案:直接在excel里制作
優勢:個人小數據量應用較為方便簡單
缺點:需要熟悉VBA,且更強大的功能對VBA水平要求較高
1、繪制地圖圖形 + VBA宏語言
思路:用插入圖形"任意多邊形"繪制地圖;每一個"任意多邊形"賦予正確名稱;對"任意多邊形"賦值;利用VBA對"任意多邊形"的值進行操作, 例如上色。
先準備一張所需要的地圖圖片,網上都有,可以下載
然后利用插入繪制多邊形圖片將地圖中的區域描邊

選定好的區域可以在左上角修改名稱

將數據表中的數據和地圖中的地區做關聯,這里就要用到VBA了。
代碼:
Sub ProvRefill()
ActiveSheet.Shapes.Range(Array("shandong")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = -0.5
.Transparency = 0
.Solid
End With
End Sub
這段代碼是修改地圖所選區域的顏色的,其他功能類似,懂VBA的會覺得簡單,不懂的可以自行百度。
2、EXCEL插件集成
這類插件有很多,推薦Power Map for Excel 2013,安裝好之后,選擇數據區域,啟動就行


二類方案:其他軟件
優勢:地圖已集成在內,可連接數據庫,已有功能強大大數據量處理具有優勢
缺點:自定義開發對人員水平要求較高,較困難
這一類軟件一般是數據可視化的軟件,能用到EXCEL數據源的,現在比較普遍的是報表工具和所謂商業智能大數據工具。
不多說,大家可能覺得陌生,那就直接上實例。
這里介紹FineReport(功能強大最實際的報表工具)
展示數據地圖不在話下,關鍵有地圖鉆取功能。
所謂鉆取就是:比如你點擊山東省,進入山東省省地圖,顯示山東省各市的數據,數據的展示方式可以使用其他圖表,比如條形圖、氣泡圖等等。


詳細步驟:
1、 準備數據源
將excel的數據導入到這個報表設計器里,如果你的excel數據是取自于數據庫的話,可以直接從設計器里讀取數據庫的數據。
2、 合并一片單元格,點擊菜單欄中的插入>單元格元素>插入圖表,選擇地圖,然后點擊確定,如下圖:(這里申明一下,這個軟件類似于EXCEL,所以一些操作術語何以類比于EXCEL)

1、 選擇地圖類型,國家地圖、省級地圖還是其他云云,或者你有自定義的SVG地圖也行。這里注意,地圖的區域名要和區域數據字段的名字對應。

個人覺得鉆取才是其亮點,所以這里一定要介紹一下。
鉆取:
定義好地圖的類型之后,就可以為地圖定義數據來源了,選中地圖,點擊圖表屬性表-數據,進入數據設置面板,地圖展現方式選擇多層鉆取,如下圖:

從上圖可以看到,鉆取層級下有個中國的文件夾,雙擊即可打開查看中國下面的省份,選中中國文件夾,右擊,則會跳出層級設置對話框,如下圖:

要實現點擊山東省能出現一張柱狀圖,這個其實是兩張圖表關聯的,所謂“聯動”。
聯動:
合并一片單元格,點擊插入>單元格元素>插入圖表,選擇柱形圖,點擊確定即可添加一張柱形圖。
柱形圖的數據來源:(這里我都是直接用數據庫的數據源)

在此,地圖和柱形圖都已經設置好了,如果要實現聯動,需要在設置交互屬性。
選中地圖,在圖表屬性表中選擇特效,點擊交互屬性,添加一個超級鏈接,即點擊,添加一個圖表超鏈-聯動單元格,設置如下圖:

到這里基本就完成了,感覺自己做得圖有些low,別毀了人家名聲,其實人家功能很強大,可視化很炫的。
另附幾張圖:



其他軟件的話,還有商業智能可視化類的tableau, FineBI,可能對大家比較陌生,就不做教程介紹了。
總之,利用excel中的數據源制作地圖圖表方法多多,不當之處還請指正。