實作文章 [The Data Frog - Show your Data in a Google Map with Python](https://thedatafrog.com/en/articles/show-data-google-map-python/) Github:[TheDataFrog-GoogleMap](https://github.com/RainBowT0506/TheDataFrog-GoogleMap) 使用 Python 在 Jupyter Notebook 中,使用 Bokeh 和Pandas 來製作互動式的地理數據視覺化,以法國日內瓦附近的不動產價格為例。 ## Dynamic Google Map in the Jupyter notebook ![Type1](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/a56d0734-a1b4-4d70-b19f-9bef147418a6) ![Type2](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/ce14ae6e-cfee-4daf-b47d-dae806a7197a) ## Google Map with Data Overlay in the Jupyter Notebook ![Type3](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/6b5e5658-01a3-4947-82cb-e2863f48f736) ## Bokeh HoverTool and ToolTips ![Type4](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/437ede28-33bd-4fab-b09d-c74e955662d4) ![Type5](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/87d92fea-2b78-4196-ae69-2ae094f5128b) ## Variable marker size in bokeh ![Type6](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/bb190394-2d30-437b-813d-4195fde5d66f) ![Type7](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/e57f5774-2222-4117-9987-29fe6936aa6e) ## Marker color map in bokeh ![Type8](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/9ba1bc92-41fa-4c8c-942c-c3824b2cb05a) ## 1. 安裝環境: - 使用Anaconda建立新的環境(geovis),並啟動它。 - 安裝必要的套件:Pandas、Bokeh、Jupyter。 ## 2. 獲取Google Map API金鑰: - 到Google申請API金鑰,將金鑰存入環境變數`GOOGLE_API_KEY`。 ## 3. 使用Pandas載入地理數據: - 下載數據集(csv檔案)並用Pandas讀取。 - 數據包含不動產交易的資訊,如價格、總面積、建築面積、經度和緯度。 ## 4. 動態Google Map與數據疊加: - 使用Bokeh和Google Map API建立動態地圖。 - 開始簡單,只顯示地圖,然後逐步添加功能。 ## 5. 動態Google Map在Jupyter Notebook中: - 使用Bokeh的`gmap`和相關工具顯示動態地圖,可設定中心座標、縮放和地圖類型。 ## 6. Google Map與數據疊加在Jupyter Notebook中: - 使用Bokeh的`circle`將數據點疊加在地圖上,可以選擇不同的地圖視圖(衛星、地形等)。 ## 7. Bokeh HoverTool和Tooltips: - 添加HoverTool以在鼠標懸停時顯示數據點的信息。 - 定義自己的Tooltips,顯示價格、建築面積、總面積等信息。 ## 8. 變動標記大小和顏色: - 將標記大小與價格相關聯,使用標記顏色表示每平方米價格。 - 使用`linear_cmap`和`ColorBar`來定義顏色映射。 ## 9. 總結: - 介紹了如何建立動態Google Map並疊加數據。 - 未來的文章將探討將地圖整合到網頁中、處理大數據、創建複雜的地理圖等主題。 這篇文章提供了實用的技巧,讓讀者能夠以互動方式探索地理數據。 ## 專業術語 1. Google Map API金鑰(Google Map API key): 用於在應用程式或網站中顯示Google地圖的金鑰。 2. Pandas: Python中的數據分析和操作庫,用於處理和分析數據。 3. Bokeh: Python中的互動式數據可視化庫,用於創建豐富的交互式圖表。 4. Jupyter Notebook: 一種開源的交互式編程和數據可視化工具,支持多種編程語言。 5. Anaconda: 一個開源的Python發行版,包含用於數據科學的許多常用庫和工具。 6. ColumnDataSource: Bokeh中的數據模型,用於將數據傳遞給繪圖工具。 7. GMapOptions: Bokeh中用於設置Google地圖屬性的選項。 8. HoverTool: Bokeh中的工具,用於在鼠標懸停時顯示數據點的信息。 9. linear_cmap: Bokeh中的工具,用於定義數據到顏色的線性映射。 10. ColorBar: Bokeh中的工具,用於顯示顏色映射的顏色條。 11. 數據疊加(Data Overlay): 在地圖上以視覺方式顯示數據,通常使用標記、形狀或顏色表示。 12. Choropleth Map: 一種地理數據可視化,通過在地圖上使用色階或填充區塊的方式,按地理區域顯示數據。 13. 環境變數(Environment Variable): 系統中用於存儲配置信息的變數,通常在命令行或操作系統中設定。 14. 數據科學(Data Science): 利用統計學、數學和計算機科學等方法來分析和理解數據的跨學科領域。 15. 互動式(Interactive): 允許用戶進行實時交互和操作的功能,以提高數據可視化的動態性。 16. 金鑰(Key): 在API中用於識別和驗證用戶身份的密鑰,通常由服務提供商提供。 17. API(Application Programming Interface): 一套定義了軟件組件如何互相操作的協議和工具。 18. 經度(Longitude)和緯度(Latitude): 用於描述地球表面上點的地理坐標系統的兩個座標。 19. Toolbar(工具欄): 圖表或應用程式中的可視化工具集,用於互動和操作。 20. Plasma256: Bokeh中的顏色調色板,用於在數據視覺化中指定顏色範圍。 實作了文章 [The Data Frog - Show your Data in a Google Map with Python](https://thedatafrog.com/en/articles/show-data-google-map-python/) Github:[TheDataFrog-GoogleMap](https://github.com/RainBowT0506/TheDataFrog-GoogleMap) 使用 Python 在 Jupyter Notebook 中,使用 Bokeh 和Pandas 來製作互動式的地理數據視覺化,以法國日內瓦附近的不動產價格為例。 ## Dynamic Google Map in the Jupyter notebook ![Type1](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/a56d0734-a1b4-4d70-b19f-9bef147418a6) ![Type2](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/ce14ae6e-cfee-4daf-b47d-dae806a7197a) ## Google Map with Data Overlay in the Jupyter Notebook ![Type3](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/6b5e5658-01a3-4947-82cb-e2863f48f736) ## Bokeh HoverTool and ToolTips ![Type4](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/437ede28-33bd-4fab-b09d-c74e955662d4) ![Type5](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/87d92fea-2b78-4196-ae69-2ae094f5128b) ## Variable marker size in bokeh ![Type6](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/bb190394-2d30-437b-813d-4195fde5d66f) ![Type7](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/e57f5774-2222-4117-9987-29fe6936aa6e) ## Marker color map in bokeh ![Type8](https://github.com/RainBowT0506/TheDataFrog-GoogleMap/assets/109667537/9ba1bc92-41fa-4c8c-942c-c3824b2cb05a) ## 1. 安裝環境: - 使用Anaconda建立新的環境(geovis),並啟動它。 - 安裝必要的套件:Pandas、Bokeh、Jupyter。 ## 2. 獲取Google Map API金鑰: - 到Google申請API金鑰,將金鑰存入環境變數`GOOGLE_API_KEY`。 ## 3. 使用Pandas載入地理數據: - 下載數據集(csv檔案)並用Pandas讀取。 - 數據包含不動產交易的資訊,如價格、總面積、建築面積、經度和緯度。 ## 4. 動態Google Map與數據疊加: - 使用Bokeh和Google Map API建立動態地圖。 - 開始簡單,只顯示地圖,然後逐步添加功能。 ## 5. 動態Google Map在Jupyter Notebook中: - 使用Bokeh的`gmap`和相關工具顯示動態地圖,可設定中心座標、縮放和地圖類型。 ## 6. Google Map與數據疊加在Jupyter Notebook中: - 使用Bokeh的`circle`將數據點疊加在地圖上,可以選擇不同的地圖視圖(衛星、地形等)。 ## 7. Bokeh HoverTool和Tooltips: - 添加HoverTool以在鼠標懸停時顯示數據點的信息。 - 定義自己的Tooltips,顯示價格、建築面積、總面積等信息。 ## 8. 變動標記大小和顏色: - 將標記大小與價格相關聯,使用標記顏色表示每平方米價格。 - 使用`linear_cmap`和`ColorBar`來定義顏色映射。 ## 9. 總結: - 介紹了如何建立動態Google Map並疊加數據。 - 未來的文章將探討將地圖整合到網頁中、處理大數據、創建複雜的地理圖等主題。 這篇文章提供了實用的技巧,讓讀者能夠以互動方式探索地理數據。 ## 專業術語 1. Google Map API金鑰(Google Map API key): 用於在應用程式或網站中顯示Google地圖的金鑰。 2. Pandas: Python中的數據分析和操作庫,用於處理和分析數據。 3. Bokeh: Python中的互動式數據可視化庫,用於創建豐富的交互式圖表。 4. Jupyter Notebook: 一種開源的交互式編程和數據可視化工具,支持多種編程語言。 5. Anaconda: 一個開源的Python發行版,包含用於數據科學的許多常用庫和工具。 6. ColumnDataSource: Bokeh中的數據模型,用於將數據傳遞給繪圖工具。 7. GMapOptions: Bokeh中用於設置Google地圖屬性的選項。 8. HoverTool: Bokeh中的工具,用於在鼠標懸停時顯示數據點的信息。 9. linear_cmap: Bokeh中的工具,用於定義數據到顏色的線性映射。 10. ColorBar: Bokeh中的工具,用於顯示顏色映射的顏色條。 11. 數據疊加(Data Overlay): 在地圖上以視覺方式顯示數據,通常使用標記、形狀或顏色表示。 12. Choropleth Map: 一種地理數據可視化,通過在地圖上使用色階或填充區塊的方式,按地理區域顯示數據。 13. 環境變數(Environment Variable): 系統中用於存儲配置信息的變數,通常在命令行或操作系統中設定。 14. 數據科學(Data Science): 利用統計學、數學和計算機科學等方法來分析和理解數據的跨學科領域。 15. 互動式(Interactive): 允許用戶進行實時交互和操作的功能,以提高數據可視化的動態性。 16. 金鑰(Key): 在API中用於識別和驗證用戶身份的密鑰,通常由服務提供商提供。 17. API(Application Programming Interface): 一套定義了軟件組件如何互相操作的協議和工具。 18. 經度(Longitude)和緯度(Latitude): 用於描述地球表面上點的地理坐標系統的兩個座標。 19. Toolbar(工具欄): 圖表或應用程式中的可視化工具集,用於互動和操作。 20. Plasma256: Bokeh中的顏色調色板,用於在數據視覺化中指定顏色範圍。