怎麼在 Excel 上做數據地圖?
更新:謝謝大家的支持。第五步顏色漏寫了命名方法,已補充。如果還有問題可以參看本答案或我專欄文章的評論區,裡面的討論基本可以解決大部分人遇到的問題。再次抱歉,08年做的,這次直接放上知乎,漏了一步,確屬粗心,記性差,檢討。
我在專欄(錢糧衚衕28號)里寫了一篇文章:用Excel做出強大漂亮的數據地圖 - 錢糧衚衕28號 放在這裡分享給大家。
這個方法的好處是:1)不累,快;2)不需要任何插件,走到哪兒只要有一個Excel就夠;3)彈性強,可以利用同樣的方法,很快做出各種各樣的熱感地圖。
#正文走起
我個人比較喜歡從零DIY熱感地圖,學會了整套流程和方法,以後遇到任何類似問題都好解決。正好有很多知友在我的一些回答中問過我,我的那些熱感地圖怎麼做出來的(我的那些回答請參考這個答案末尾的各種熱感圖圖例)。借這個機會,我毅然決定,專寫一篇文章來說說我的數據地圖是怎麼畫的。
很簡單,按照我的方法,六步你就可以畫出自己的熱感地圖,不需要GIS軟體,各種地圖都適用。
前提:你要有Excel這個軟體啊(否則搞毛),還要能上網啊(能看到這回答說明正在上網吧?)
第一步:需要一張普通的地圖圖片
這個很簡單,網上到處都有。中國的省級地圖,地級市地圖,甚至縣級地圖都可以找到。這裡兩個小要求:1)盡量找張乾淨的圖,乾淨指的是地圖的邊界清晰;2)svg格式的圖(Scalable Vector Graphics)- 別慌,推薦你個下載svg格式地圖模板的好去處: Wikimedia Commons
在這個網站搜索China provinces,可以得到下面這些圖(上百張),第一張圖就很符合我們的要求:
第二步:打開下載的svg圖。這裡推薦個免費開源的軟體:Inkscape。用這個軟體打開svg的地圖,然後另存為Enhanced Meta File(emf)格式的文件。
第三步:用excel導入emf的文件,然後ungroup這個地圖變成freeform的圖形,如下圖。
這樣我們就得到了excel裡面的地圖素材。
第四步:每個省現在對應的名字都沒有,我們需要重新命名。比較直觀簡單的方法:滑鼠點擊選一個省,在左上角公式旁邊的文本框里輸入省的名字,如下圖:
補充1:評論里總結了一下,命名省份的時候如果出現問題可以選中一個省份,然後在selection pane裡面找到對應的圖形,重新命名就好。批量命名也是有方法的,但是略微複雜,有興趣的話我可以放上來(對於比較了解Excel和vba的盆友,我就點一句:直接用Excel打開svg文件(對的,不是插入圖片,是傳統數據形式打開svg文件(類xml格式)),剩下就都明白了)。
第五步:在excel里另建一個worksheet(命名為"Data_Province"),按照下圖來設計版面(如果不熟悉VBA,那麼版面的行與列等格式一定按照下面的圖片):
更新:F列每個顏色的單元格漏寫了對應的命名,比如白色的單元格,將其命名為對應的J列的值(classpro0)
漸變顏色可以自己選擇,目前這個例子是從0到5六種類別(顏色),根據你的研究需要(比如各省人均收入水平你按照高低分了10類,那就10種),隨便改多少種都可以,唯一注意的就是命名的區域要跟著變。再啰嗦一下:根據你自己的分類標準,篩選你的數據,將篩選後的分類結果(比如6種 0-5)對應到之前提到的類別中,這樣也就對應好了顏色。
第六步:這些都做完了,在地圖那頁worksheet裡面加個按鈕,把下面這段VBA程序copy進去:
For i = 2 To 32 "這裡是省的數量,2代表的是後面連接的數據表起始位是第二行,可以根據你自己的設計更改
Range("actRegProvince").Value = Range("Data_Province!D" i).Value "按順序選取數據表中省份
ActiveSheet.Shapes(Range("actRegProvince").Value).Select "激活對應的省份地圖
Selection.ShapeRange.Fill.ForeColor.RGB = Range(Range("actRegCodeProvince")).Interior.Color "將數據表中省份對應的顏色類別賦值給對應的省份地圖
Next i
補充說明:Data_Province!D中Data_Province是第五步建的數據表(worksheet)的名字,D指的是省份名字所在的列(見上面那張截圖)。根據自己的需要可以改成你喜歡的名字或位置。
第七步:這步不算了啊!就是六步~
點擊按鈕,享受成果,不謝!
把剛才的地圖換成紫色漸變色,效果如下:
我過去的研究里用過的一些樣圖(ps: 數據原因,有些圖未包含台灣):
地級市級別方言地圖,請參考:文化對經濟有著怎樣的影響? - 錢糧衚衕的回答
地級市層面經濟集群圖,請參考:中國是否真的需要均衡發展? - 錢糧衚衕的回答
神經網路演算法分類中國地級市,請參考:機器學習(machine learning)在經濟學領域是否有應用前景? - 錢糧衚衕的回答
同樣方法製作縣級地圖
如果製作過程中遇到問題,請留言。
Excel有個Power Map的功能,5分鐘就能搞定一個簡單的數據地圖。
第一步:下載安裝Power Map Preview for Excel 2013,下載完後可在工具欄的【插入】選項卡中找到Power Map。
第二步:準備數據。這裡我準備了一組省市的銷售額和利潤數據,希望能夠在地圖上顯示各個省的銷售額分布,以及每個城市的銷售/利潤情況。
選擇數據,啟動Power Map並新建演示。
第三步:繪圖
基於以上的目的,在這裡我要建立兩個圖層,一個用於展示各省的銷售額分布,另一個用於每個城市的銷售/利潤對比。
圖層一:省銷售額
區域選擇省,地理和地圖級別選擇省
選擇區域可視化的圖表,數據展示銷售額。
設置中可以修改顏色和色階
圖層二:城市銷售利潤
區域選擇城市,地理和地圖級別選擇城市
選擇簇狀柱形圖的圖表,數據展示銷售額和利潤。
第四步:播放展示效果
如果是複雜的地圖比如流向地圖、動態地圖需要寫VBA開發,比如下圖這張美國颶風的動效軌跡圖
1、素材準備
① 一張帶經緯線的美國·大西洋地圖。因為公共服務提供的經緯度並不精確,各大地圖工具都不帶經緯度。當初翻遍了網路,在德克薩斯大學的地圖圖書館NHC Blank Tracking Charts,找到了這張地圖。
②從Hurricane Tropical Cyclone Details上下載Irma颶風的移動路徑數據,包括日期時間、經緯度、風力等。
2、處理數據
經緯度、風速、風壓等去單位。
日期和時間要稍作處理轉換成Excel便於處理的日期數據。
時間間隔前期基本上都是每6小時的記錄一次數據,後期每3小時甚至每小時就記錄一次,這裡為了便於後期好處理,統一留下每6小時的數據。
3、繪製氣泡圖
將上面的地圖插入到表格中,然後在上面繪製一張氣泡圖,氣泡圖的X軸數據就是經度數據,Y軸數據就是緯度數據,氣泡大小取自風力大小的數值。
設置繪圖區格式,根據經緯度坐標的讀數來設置氣泡圖中坐標軸的最大值和最小值,並且使坐標間隔和地圖上的經緯度間隔一致,比如這裡間隔是5,這樣可以保證氣泡圖繪製的數據點與地圖中實際的經緯度相匹配。
拖拽移動圖表繪圖區的邊框,使它與底層大西洋地圖中的坐標軸線相互重合。然後隱去軸數據,邊框什麼的都設置「無」。
4、製作動效
【思路】
要想實現軌跡的動效,這裡可以使用滑動條控制項來控制時間,每滑動一次,時間就增加6小時。
滑動條所鏈接的單元格把數據傳遞給圖表左側的表格區域中,然後通過對時間點的查詢得到相應的經緯度數據和風力風壓數據。同時再由這個時間數據生成圖表的兩組數據源,由此構造形成整個控制鏈,並完成滑動條對圖表的最終控制。
進一步,我想實現滑動條的自動控制,這裡則需要通過VBA代碼來實現,讓圖表自動播放。
【操作】
1、用VBA寫兩個宏,一個控制啟動,一個控制停止。
2、繪製4個控制項,分別代表啟動、停止、循環、滑動條,指定上述宏。
3、滑動條控制項格式指定左側單元格,左側單元格會記錄滑動數據,上方data time調用此單元格數據。
4、準備動態數據
為實現以上動態效果,其實在氣泡圖中準備了兩組數據。一組顯示當前時間點之前颶風所走過的所有路徑點,另一組則標記當前時間點颶風所在位置。
這裡需要用到LOOKUP函數,並調用data time單元格數據。
第一組數據選取小於等於當前時間點的所有數據,並將其他數據點設為#N/A。
=IF($A9&<=LOOKUP(map!$C$3,$A$2:$A$55),data!D9,NA())
第二組選取與當前時間相匹配的數據,其他數據也設為#N/A。這裡,#N/A不會在圖表中顯示數據點。
=IF(A9=LOOKUP(map!$C$3,$A$2:$A$55),data!D9,NA())
5、氣泡圖綁定數據源
至此,就都搞定了,圖表中的文本框則可以通過鏈接單元格,直接從單元格當中獲取數據點的信息。
此外,這裡除了氣泡圖,圖表中還添加了一組柱形圖來展示風力,數據綁定的操作形式和上面氣泡圖如出一轍。
DATA MAP:地圖數據及可視化神器級EXCEL工具
「 火箭君相信,有非常多的同學在面對畫地圖這件事上困擾不已。曾經,我們介紹過微軟出品的Power Map套件可以在Excel中作出非常酷炫的地圖可視化效果。然鵝!微軟的Bing地圖在國內數據不充分導致我們無法很好的用他。今天火箭君將會介紹一款神器,雖非大廠出品但是實用無比哦~
Data Map登場
Data Map是由國內Excel大神開發的一款基於百度地圖的數據可視化Excel插件。對於火箭君來說,這個工具的實用程度,已經達到「微信級必裝」的程度!
這個插件是作者看著各類幫助文檔一點一點開發出來的,火箭君覺得
這個工具充滿著2000年代濃濃的極客精神
——有工具則用工具,沒有工具創造好工具給自己用
在安裝了這個工具之後,你的Excel就會多出一個標籤欄,滿滿都是各類地圖功能
功能1:地址解析服務
百度地圖自帶地址解析服務(就是把地址變成經緯度,或者把經緯度轉換為地址)。然而這種服務往往需要有編程基礎的人來使用——Datamap直接用Excel公式把這個問題解決了。
GeoCoding()函數可以讓你把一個地址通過百度地圖的引擎,轉化為經緯度坐標。火箭君來做個演示:
而GeoReverse函數則可以把經緯度轉換成標準化地址:
最後,火箭君找來一份上海的危險品運輸企業地址清單,這個工具可以把雜亂的地址標準化,切分出各級別的字串。來感受一下:
功能2:地圖坐標
Datamap可以很方便的把大量地址信息轉化為經緯度,然後放到地圖上。火箭君找來了上海所有停車場的地址信息,利用上面介紹的功能把地址轉化為經緯度後,隨手就先標記出了300個停車場
功能3:該有的基本都有
當然啦,普通的畫線,陰影圖之類的自然不在話下~
值得一提的是,由於百度地圖加持,你可以在datamap的陰影圖可直接輸入輸入區域名。例如輸入:浦東新區,500。插件自然會把浦東新區高亮出來,填入正確的顏色哦!非常實用
更多功能請自行挖掘哦~
喜歡就關注我們吧~~
微信公眾號:效率火箭(ID:xlrocket)
受到其他小夥伴的啟發, 這裡有兩種辦法:
Plan A: 繪製"任意多邊形" + VBA
Plan B: 用地圖插件, 例如Power Map for Excel 2013
---------------- Plan A 分割線 ------------------
Plan A:
1. 用插入圖形"任意多邊形"繪製地圖
2. 每一個"任意多邊形"賦予正確名稱
3. 對"任意多邊形"賦值
4. 利用VBA對"任意多邊形"的值進行操作, 例如上色
----------------詳細說明-------------------
1. 繪製地圖.
先下載一個地圖, 例如這樣的:
然後Copy到Excel裡面, 變成這樣:
然後體力活兒來了!!! 那就是描邊. 老衲先畫一個新疆做示例:
描邊就是使用任意多邊形來勾圖:
理論上有第三方矢量圖生成工具可以來幫助做這個事情, 不過以老衲的經驗, 第三方矢量圖生成工具生成的圖片一般過分精細, 代價就是Excel體積暴增. 不介意體積和速度的話, 使用第三方工具是很不錯的哈.
2. 然後給這個新疆起個名字, 不想去喝茶的話, 就起個正常的名字哦, 不要帶東字哦:
3. 然後建立一個表, 放上地名和數值, 然後再做一個數值和顏色的對照表:
4. 用VBA刷顏色剛才畫的這個對象, 在Excel裡面屬於Shape, 用賦予的名稱找到這個Shape, 然後改寫其顏色即可:
Sub ProvRefill()
ActiveSheet.Shapes.Range(Array("Xinjiang")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = -0.5
.Transparency = 0
.Solid
End With
End Sub
然後仔細看這個新疆的顏色已經變化了:
當然這個代碼只是一個極為簡單的範例, 真正使用的時候還要根據自己的情況進行修改
-------------- Plan B分隔線----------------Power Map for Excel 2013 是一個Excel插件, 需要單獨安裝
安裝地址: Power Map Preview for Excel 2013
安裝上之後, 在"插入"這個ribbon裡面會多一個按鈕.
來點數據試一下:
點擊插入Power Map, 等兩分鐘:
的確很方便哦~~
依據 @錢糧衚衕 的答覆和啟發,自己試著做了一個升級版,包括中國地圖和世界地圖.在找地圖圖形素材的人可以直接下載去用:
http://pan.baidu.com/s/1slzgPaP
在Excel上畫地圖方法很多,有直接用office365最新自帶的地圖,也可以使用Powwer map,也有power View,還有各自插件,當然還有DIY自制地圖,最常用的是VBA,還有冷門的DAX表達式與M語言來製作地圖.這裡就用VBA來畫一副地圖吧.屬於VBA里非常高階的用法,用VBA調用VB函數來捕獲游標位置,從而達到觸屏滑動地圖數據的效果.先看VBA捕獲游標的效果.
數據源純屬胡編亂造.如有雷同,純屬虛構.現在要把數據源按年份查詢到data1工作表來.比如在單元格輸入2014,就在data1顯示2014的數據.方法有很多,如函數,power query,還有MS query.這裡之所以選擇使用ms query是因為比power query在做動態查詢時,能立馬把結果刷新出來,而不像power query還需要點一下刷新按鈕.MS query如何做動態查詢的知識略過,有興趣可以看這篇貼子Excel動態查詢之MS Query實現
做好之後如下圖,在單元格輸入年份,數據就實現動態刷新了.
讓B2單元格等於另一張表裡的K12單元格,這是用來做窗體控制項的,也就是用按鈕控制B2單元格的數據.
在K12輸入如下公式:=CHOOSE(K5,IF(K5="Select state",2014,2014),2014,2015,2016)這樣做出了第一個數據模型的第一個窗體控制項.接著用函數把data1表裡的數據用函數搬運過來.由於數據是胡編亂造的,只搬運了三列數據.
由於使用了MS query就不好移動這份excel文件的位置,一但移動就鏈接失敗.結果是導致無法動態查詢位置.所以不得不使用VBA解決掉鏈子的問題.在Thiswordbook輸入以下代碼.
Private Sub Workbook_Open()
Dim strCon As String, iPath As String, i As Integer, iFlag As String, iStr As String
Dim oSht As Worksheet
Dim oPvTb As PivotTable
Dim oQyTb As QueryTable
For Each oSht In ThisWorkbook.Worksheets
If oSht.PivotTables.Count &> 0 Then
For Each oPvTb In oSht.PivotTables
If oPvTb.PivotCache.SourceType = xlExternal Then
strCon = oPvTb.PivotCache.Connection
Select Case Left(strCon, 5)
Case "ODBC;"
iFlag = "DBQ="
Case "OLEDB"
iFlag = "Source="
Case Else
End Select
iStr = Split(Split(strCon, iFlag)(1), ";")(0)
iPath = Left(iStr, InStrRev(iStr, "") - 1)
With oPvTb.PivotCache
.Connection = VBA.Replace(strCon, iPath, ThisWorkbook.Path)
.CommandText = VBA.Replace(.CommandText, iPath, ThisWorkbook.Path)
End With
End If
Next
End If
If oSht.QueryTables.Count &> 0 Then
For Each oQyTb In oSht.QueryTables
If oQyTb.QueryType &<&> xlWebQuery Then
strCon = oQyTb.Connection
Select Case Left(strCon, 5)
Case "ODBC;"
iFlag = "DBQ="
Case "OLEDB"
iFlag = "Source="
Case Else
End Select
iStr = Split(Split(strCon, iFlag)(1), ";")(0)
iPath = Left(iStr, InStrRev(iStr, "") - 1)
With oQyTb
.Connection = VBA.Replace(strCon, iPath, ThisWorkbook.Path)
.CommandText = VBA.Replace(.CommandText, iPath, ThisWorkbook.Path)
End With
End If
Next
End If
Next
End Sub
接下來就是屬於最難搞的了.編寫VBA.先申明調用VB編程時的GetCursorPos函數.不過先做準備工作,把地圖上每個矢量圖形都定義好每一個州的簡稱.由於對美國我也不熟,直接從國外的的一份excel文件里一份地圖複製過來的,地圖作者已經定義好了每個洲名稱.真是方便.
Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As MyPoint) As Long
Private Type MyPoint: x As Long: y As Long: End Type
Public flag
第一句話利用GetCursorPos函數獲得滑鼠指針當前的位置。其返回值是一個Long型值,非零表示成功,0表示失敗。第二句話是在滑鼠指針移動時捕獲窗體,也就是後面寫代碼時用來突出顯示地圖上某個州的矢量圖形對象的一些信息的.這些完全屬於VB了而不是VBA,搞不懂,導致查了不少資料才弄懂大概意思,後面的代碼都是反覆修改調試完成的.因為太冷門了..
自定義某個單元格名稱為enable_move,當這個單元格的值等於True時,就啟動突出顯示,否則就調用highlight_shape程序.代碼如下:
Sub enable_move() "啟用滑鼠滑過突顯
If Range("enable_move").Value = True Then
flag = True
Call get_shape
Else
flag = False
Call highlight_shape("DC") "最後懸停位置
End If
End Sub
highlight_shape程序代碼如下:
Sub highlight_shape(cur_shape) "設置當前地圖圖形的邊框線顏色突出顯示
"1、取[cur_region]值,將上次選擇的地圖版塊還原線條色
ActiveSheet.Shapes(Range("cur_region").Value).Line.ForeColor.SchemeColor = 23
"2、將當前懸停/選擇的地圖版塊名稱填值到[cur_region]
Range("cur_region").Value = cur_shape
"3、將當前懸停/選擇的地圖版塊設置線條紅色
ActiveSheet.Shapes(cur_shape).Line.ForeColor.SchemeColor = 10
ActiveSheet.Shapes(cur_shape).ZOrder msoBringToFront "置於頂層,避免遮擋的問題,因素材邊界有重疊
End Sub
Sub get_shape() "獲取滑鼠滑過的地圖並突顯
Dim CurPos As MyPoint
Do While flag = True
GetCursorPos CurPos "獲取滑鼠的位置
x1 = CurPos.x: y1 = CurPos.y
Set CurRng = ActiveWindow.RangeFromPoint(x1, y1) "獲取該位置的對象
If CurRng Is Nothing Then Exit Sub
On Error Resume Next
If CurRng.ShapeRange.AutoShapeType = 138 Then
Call highlight_shape(CurRng.Name) "調用突顯過程
End If
DoEvents
Loop
End Sub
在這裡要說明的是ActiveWindow.RangeFromPoint.這個是返回位於屏幕上指定坐標位置的 Shape 或 Range 對象。如果指定坐標位置上沒有任何形狀,則此方法將返回 Nothing。但由於前面已經申明了MyPoint,那就是捕獲圖形對象了.如果申明Range,就捕獲單元格的信息.
既然捕獲了圖形對象,那肯定要讓對象顯示某些信息,比如每個州的名稱,數據等.因此,下面的代碼是用來將做數據標籤的,代碼如下.
Sub link_shape_label() "批量鏈接標籤,僅在新建模型時手動運行1次
On Error Resume Next
For i = 2 To 53
Sheets("dash").Shapes(Range("index!C" i).Value).Select
Selection.Formula = "=" "index!P" i "添加標籤鏈接
Next
End Sub
接下來給圖形填充顏色.代碼如下:
Sub fill_shape_color() "填充地圖顏色
On Error Resume Next
For i = 2 To 53 "為數據源的起始和結束行號
Sheets("dash").Shapes(Range("index!C" i).Value).Fill.ForeColor.RGB = Sheets("index").Cells(1, [cur_sel_id] + 9).Interior.Color
"使用第一行設定的顏色填充地圖圖形
Sheets("dash").Shapes(Range("index!C" i).Value).Fill.Transparency = Range("index!O" i).Value
"按匹配的透明度值設置地圖圖形的透明度
Next i
End Sub
如圖所示給箭頭所指的單元格定義名稱為cur_sel_id.不光用來控制圖形顯示什麼顏色,還控制使用第幾列數據給圖形填充,用顏色的深淺反應數據的大小.
EasyCharts團隊出品
有一本書叫做 用地圖說話 或許對你有用
大數據魔鏡 http://www.moojnn.com 樓上又說道的,你可以自己去試試,很簡單,很好用
不知道這個符合嗎,大數據魔鏡,免費使用,顏色可自由搭配,操作簡單。
大數據魔鏡—首款免費大數據可視化分析工具
地圖慧-製作地圖 數據地圖 物流分單 商鋪選址 數據資源
請問,把大象關進冰箱,,,啊不是,,,做一張數據地圖需要幾步?
第一步:打開地圖慧
第二步:上傳Excel數據
第三步:生成
簡單易懂,
上圖:選擇地圖類型
上圖:上傳數據
上圖:點擊生成,OK就像一個社區,分享一個個地圖故事,你還可以看看別人是怎麼做的?
地圖慧就像微博,只不過發布的都是地圖而已。
大家都散了吧,Excel 2016自帶地圖數據功能。那些鼓吹奇技淫巧的人可以潘然醒悟了。
而且Excel 2016可以無縫兼容PPt,可以上下左右從您愛的角度展示您的野心。
下面是個簡單的實例。
原文在這:用Excel輕鬆生成數據地圖-以數學建模國賽B題數據舉例
做2017年數學建模國賽的時候探索到的。
本文的介紹主要基於Excel2016。Excel2013中也有Power Map載入項,就是16中的「三維地圖」的前身(微軟改名部日常工作)。Mac 版的Excel中沒有找到此功能。
創建三維地圖
注意,如果文件是xls格式的,地圖那會顯示黑白,可以另存為xlsx格式之後再重新打開,這裡為大家準的是我轉換好的表格。
數據下載
在Excel中打開,點擊插入-&>三維地圖-&>打開地圖
進去之後就可以看到這樣的界面,Excel已經自動識別出來表格中的經緯度數據,並且把表格中的點標註到了地圖上。我們第一眼可以發現,此次的數據主要集中在珠三角區域。
數據可視化
光知道在哪沒什麼用,我們還想從地圖上反映一些其他的信息。如果我們想看任務定價在地理位置上的分布情況的話在高度處添加欄位「任務標價」,並設置為平均值。點擊地圖中的方向按鈕可以改變視角,從不同方向觀察。
此時是這裡是默認的「堆積柱形圖」。不太容易看出規律來,我們可以選擇熱力圖。此時我們可以很容易地發現哪些地方的任務均價高(雖然感覺好像沒什麼卵用)。
我們還可以觀察任務完成情況在地圖上的分布情況。我們添加「任務執行情況」欄位,並選擇「無聚合」。
我們此時又可以直觀地觀察到哪些地方成功的任務多,哪些地方失敗的任務多。(雖然我仍舊覺得對於解題沒有什麼卵用,但感覺挺好玩的。)
如果你覺得柱形圖的柱高度太高了,可以在圖層選項裡面進行調整。
我們還可以在上面加圖層。例如把用戶信息加到上面去。賽題原本的數據裡面,沒有把經緯度分開,我在這提供了一份處理好的。
添加圖層
選取用戶數據,點擊插入-&>三維地圖-&>將選定數據添加到三維地圖。然後會出現一個新的圖層。
點擊那個小眼睛可以設置隱藏圖層。
我們發現,用戶里有一些來自安徽、重慶、湖南的不知從哪得知該眾包拍照平台的熱心群眾。
我們可以觀察任務地圖上任務價格分布和用戶分布來發現一些規律。在這裡,我們在用戶信息圖層中,選取「用戶id」,選擇「計數-非空」,並選擇「熱力地圖」。任務信息圖層中,選擇「相對標價」,並且選擇「不聚合」,這個相對價格是我用原來的價格減去最低價得到的,這樣更容易看出差別來。然後選擇「氣泡圖」,氣泡大的說明該區域的定價都偏高。還可以調整圖層選項中的「大小」和「厚度」,來得到更好地觀察效果。
綜上,有沒有覺得Excel很神奇!!!
他還能基於時間做一些演示,展現數據隨著時間變化的情況。大家可以自己去繼續探索一波。更多功能可以參考官方文檔。
參考資料:
官方文檔-三維地圖入門(適用於Excel2016)
官方文檔-Power Map入門(適用於Excel2013)
請上我的個人主頁:宇哥的數據地圖http://liuhuanyu.sxl.cn
有更多的免費地圖
準確的來說,Excel上做數據地圖分為三步:
第一步,下個好用的插件,比如PowerMap(Excel自帶),或者DataMap(絕對是個神器)。OmniGraffle也是個神器。
第二步,學學怎麼用這些軟體和插件。
第三步,做好數據地圖,拿到同事面前裝裝X,滿足一下虛榮心,提升一下再做數據地圖的動力。
上乾貨~~
這個是比較初級的北方8省人口地圖,PS做得很簡陋
吉林省人口分布,數據來源於2010年第六次人口普查。最終合成用的是OmniGraffle
有贊再接著發~
————
接著更新
POWERMAP很好用~
這是北方8省人口密度圖
黑龍江省人口密度
有一個第三方工具,地圖慧,你可以嘗試一下
2013年出的power map。就在excel里, 能做出各種立體柱狀圖,熱點圖,按照地理位置分布的。還能自定義,放上一張遊樂場地圖,準備好數據,就可以繪製出遊樂場人員分布圖.... 同理,籃球場上最佳得分點,咖啡館某時段各區域人員熱度...夠你玩的~
Esri for office, office 2013的Power Map怎麼著都比以上的答案好用的多。有ArcGIS,為什麼要用office製圖?
用gis軟體也可以
僅用Excel的話矢量地圖+VBA是比較方便快捷的方法
矢量地圖獲取方式:
1.https://www.amcharts.com/svg-maps/
amcharts幾乎包含了全球各個國家的矢量地圖,還分低精度和高精度,都可以下載。
2.https://pixelmap.amcharts.com/
pixelmap比amcharts多了一些工具可自定義,顏色、圖標等,選擇SVG格式下載。
用Ai(Adobe illustrator)打開下載的矢量圖形,拖動到PPT中,按兩次Ctrl+Shift+G快捷鍵,地圖就分省拆分成一個一個多邊形矢量圖形。
複製到Excel,手動或用VBA對各個形狀填充顏色就行了,代碼幾行就搞定。
SAP Bussiness Object DASHBOARDS 一個很專業的報表可視化工具 不但能做能做中國地圖 各種地圖都可以 還有其他各種圖
ExcelMaps -- 在EXCEL中輕鬆使用地
ExcelMaps用戶交流QQ群:170314333 官網:www.gis9.com
1 軟體概述
一款基於Excel表格進行地理數據挖掘、坐標轉換、地圖繪製、地圖圖表等操作的工具類應用軟體。具有易用、高效、穩定的特點,能夠滿足地理數據應用及處理的基本需求,也可提供個性化定製開發服務。
2 軟體下載/更新
進QQ群【170314333】下載最新版本。
3 軟體安裝
3.1 安裝環境要求
l NET4.0以上,WINDOWS7以上均自帶該組件,安裝後,系統提示缺失該組件,請自行百度搜索下載安裝。
l Excel 2010、Excel2013、Excel2016 及以上版本。
3.2 安裝步驟
1. 安裝執行setup.exe,一路NEXT直至提示安裝完成。
2. 安裝完成後第一次啟動Excel,提示安裝ExcelMaps插件,如下截圖,點擊【安裝】按鈕。進入Excel,菜單欄上會出現本軟體的【地圖】菜單項。
3. 安裝過程如遇360、QQ管家等安全軟體攔截,如下圖,請點擊允許安裝。
4 註冊使用
本軟體為「免費「註冊使用,成為註冊用戶後無使用限制;非註冊用戶只能處理約3-5條數據,用於體驗功能。
4.1 如何註冊
進入【設置】【登陸/註冊】菜單進行界面註冊,使用郵箱賬號進行註冊,註冊成功後,郵箱會立即收到激活郵件,此時,進入郵箱點擊激活鏈接,即可成為註冊用戶。
5 使用說明
ExcelMaps地圖插件提供:下載地理數據、生成地圖圖表、繪製地圖等功能。
主菜單
5.1 數據下載
功能說明:通過在模板中輸入條件數據,執行數據解析或轉化等操作,獲得預期地圖數據並填充到表格中。
- l 紅色塊:與地址、坐標數據相關的功能。
- l 綠色塊:與路線相關功能。
- l 米色塊:與行政區數據相關功能。
- l 藍綠塊:與POI數據相關功能。
- l 紫色塊:與地圖圖表相關功能,需與【地圖圖表】功能組組合使用。
功能將陸續增加。
【操作說明】
執行數據下載功能只需三步:
(1)選擇【模板】 à (2)輸入條件/選擇【樣例數據】 à (3)選擇【執行/停止】 。
5.1.1 地址轉坐標
說明:將輸入的地址解析為經緯度坐標和格式化的地址。
5.1.2 坐標轉地址
功能說明:將輸入的坐標轉換為地址信息。
5.1.3 坐標轉換
功能說明:將輸入的坐標轉化為其它地圖坐標。
5.1.4 拖拽選址
功能說明:在地圖上拖拽圖標,獲取拖拽位置的地址信息。
步驟說明:(1)選擇模板; (2)選擇【執行/停止】菜單; (3)拖拽地圖上的圖標至目標位置。
5.1.5 駕車步行騎行公交路線查詢
功能說明:輸入起點和終點的坐標,獲取兩地間的駕車路徑等信息。包括:兩地間駕車路線途徑道路、駕車路徑長度、直線長度,以及路徑圖形,並提供多種駕車策略供選擇。
顯示路徑圖形:
5.1.6 行政區查詢
功能說明:選擇行政區,獲取省市區行政區名稱、編碼、圖形等信息。
操作步驟:(1)選擇模板;(2)選擇【執行/停止】;(3)在行政區樹中選擇要查詢的節點,然後點擊【確定】按鈕。
顯示行政區輪廓圖形:
5.1.7 POI查詢
功能說明:根據輸入的關鍵詞,獲取對應的POI數據。
操作步驟:(1)打開模板;(2)選擇【執行/停止】,彈出搜索條件輸入窗口;(3)輸入條件,執行【搜索】。
5.2 地圖繪製
功能說明:提供在地圖上繪製點、線、面圖形,圖形信息自動記錄在當前表格中。也可選中表格行在地圖上顯示圖形。
- l 【拾取坐標】:選中後,可在地圖上任意位置拾取坐標到表格中。再次單擊,關閉功能。
- l 【繪製線段】:選中後,可在地圖上繪製線條,繪製圖形信息會自動顯示在表格中。再次單擊,關閉功能。
- l 【繪製多邊形】:選中後,可在地圖上繪製多邊形,繪製圖形信息會自動顯示在表格中。再次單擊,關閉繪圖功能。
- l 【繪製圓形】:選中後,可在地圖上繪製圓形,繪製圖形信息會自動顯示在表格中。再次單擊,關閉繪圖功能。
- l 【清空圖形】:清空當前地圖中顯示的圖形。表格數據不會被清空。
操作說明:(1)打開【繪圖模板】;(2)選擇繪製工具(點、線、面、圓形);(3)在地圖上繪製圖形,圖形信息自動填充到表格行中。
5.3 地圖圖表
功能說明:插件提供地圖圖表功能,支持通過表格數據生成圖表。支持圖表保存、打開等功能。
5.3.1 熱力圖
功能說明:輸入數據,按格式生成熱力圖。
操作步驟:
一、輸入數據:(1)打開模板;(2)選擇【樣例數據】,填充樣例數據,或按樣例數據輸入。
二、生成熱力圖:(1)選擇【圖標嚮導/熱力圖】;(2)在嚮導窗口中選擇對應行列,選擇【輸出地圖圖表】;(3)輸出熱力圖窗口,顯示熱力圖。
5.3.2 行政區圖表
功能說明:根據行政區數據,輸出行政區專題地圖。
操作說明:
一、填充數據:(1)打開模板;(2)選擇【執行/停止】;(3)在行政區選擇窗體中選擇目標行政區,並單擊確定;其中,設置顏色可直接設置單元格背景色。
二、生成行政區圖表:(1)選擇【圖表嚮導/行政區圖表】;(2)行政區圖表嚮導窗口中選擇行列,點擊【生成】按鈕;(3)生成行政區圖表。
5.3.3 設置圖表地圖
功能說明:設置地圖顯示樣式、顯示內容等功能。
操作步驟:選擇工具條中【地圖設置】功能,彈出界面中,設置地圖內容、底色、狀態、控制項等功能。
5.3.4 打開/保存圖表、截圖
功能說明:
- l 打開/保存圖表:通過插件生成的地圖圖表,可以保存成圖表文件,後期可直接打開圖表文件顯示地圖圖表。
- l 截圖:可以截取當前地圖圖表顯示內容。
5.4 設置
5.4.1 網路設置
l 【使用IE代理設置】:當用戶電腦訪問互聯網需要設置IE代理時,可以勾選,使本插件使用IE代理設置聯網。
5.4.2 登陸/註冊
提供用戶註冊及登陸功能,登陸後無限制。
5.4.3 需求/反饋
如果在使用過程中有什麼問題和建議,可以進入該功能提交需求或建議,我們將努力解決。也可以通過QQ或郵件等方式。
5.4.4 關於/更新
當系統更新時,顯示紅點表示有更新,用戶點擊後直接進入網頁下載安裝包升級。
推薦閱讀:
※數據挖掘入門基礎知識疑惑?
※AI領域的灌水之風如何破局?
※怎麼培養數據分析的能力?
※機器學習里的 kernel 是指什麼?
※零基礎自學如何成為合格的數據挖掘工程師?