關於這個問題,製做數據地圖的方法已不新奇,整體來講有這麼幾類方案:數據庫
一類方案:直接在excel裏製做工具
優點:我的小數據量應用較爲方便簡單大數據
缺點:須要熟悉VBA,且更強大的功能對VBA水平要求較高spa
一、繪製地圖圖形 + VBA宏語言插件
思路:用插入圖形"任意多邊形"繪製地圖;每個"任意多邊形"賦予正確名稱;對"任意多邊形"賦值;利用VBA對"任意多邊形"的值進行操做, 例如上色。設計
先準備一張所須要的地圖圖片,網上都有,能夠下載excel
而後利用插入繪製多邊形圖片將地圖中的區域描邊code
選定好的區域能夠在左上角修更名稱教程
將數據表中的數據和地圖中的地區作關聯,這裏就要用到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的會以爲簡單,不懂的能夠自行百度。
二、EXCEL插件集成
這類插件有不少,推薦Power Map for Excel 2013,安裝好以後,選擇數據區域,啓動就行
二類方案:其餘軟件
優點:地圖已集成在內,可鏈接數據庫,已有功能強大大數據量處理具備優點
缺點:自定義開發對人員水平要求較高,較困難
這一類軟件通常是數據可視化的軟件,能用到EXCEL數據源的,如今比較廣泛的是報表工具和所謂商業智能大數據工具。
很少說,你們可能以爲陌生,那就直接上實例。
這裏介紹FineReport(功能強大最實際的報表工具)
展現數據地圖不在話下,關鍵有地圖鑽取功能。
所謂鑽取就是:好比你點擊山東省,進入山東省省地圖,顯示山東省各市的數據,數據的展現方式可使用其餘圖表,好比條形圖、氣泡圖等等。
詳細步驟:
一、 準備數據源
將excel的數據導入到這個報表設計器裏,若是你的excel數據是取自於數據庫的話,能夠直接從設計器裏讀取數據庫的數據。
二、 合併一片單元格,點擊菜單欄中的插入>單元格元素>插入圖表,選擇地圖,而後點擊肯定,以下圖:(這裏申明一下,這個軟件相似於EXCEL,因此一些操做術語何以類比於EXCEL)
一、 選擇地圖類型,國家地圖、省級地圖仍是其餘云云,或者你有自定義的SVG地圖也行。這裏注意,地圖的區域名要和區域數據字段的名字對應。
我的以爲鑽取才是其亮點,因此這裏必定要介紹一下。
鑽取:
定義好地圖的類型以後,就能夠爲地圖定義數據來源了,選中地圖,點擊圖表屬性表-數據,進入數據設置面板,地圖展示方式選擇多層鑽取,以下圖:
從上圖能夠看到,鑽取層級下有個中國的文件夾,雙擊便可打開查看中國下面的省份,選中中國文件夾,右擊,則會跳出層級設置對話框,以下圖:
要實現點擊山東省能出現一張柱狀圖,這個實際上是兩張圖表關聯的,所謂「聯動」。
聯動:
合併一片單元格,點擊插入>單元格元素>插入圖表,選擇柱形圖,點擊肯定便可添加一張柱形圖。
柱形圖的數據來源:(這裏我都是直接用數據庫的數據源)
在此,地圖和柱形圖都已經設置好了,若是要實現聯動,須要在設置交互屬性。
選中地圖,在圖表屬性表中選擇特效,點擊交互屬性,添加一個超級連接,即點擊,添加一個圖表超鏈-聯動單元格,設置以下圖:
到這裏基本就完成了,感受本身作得圖有些low,別毀了人家名聲,其實人家功能很強大,可視化很炫的。
另附幾張圖:
其餘軟件的話,還有商業智能可視化類的tableau, FineBI,可能對你們比較陌生,就不作教程介紹了。 總之,利用excel中的數據源製做地圖圖表方法多多,不當之處還請指正。