利用pyecharts繪制地理散點圖
1.背景
利用上海市7000+辦公樓項目,包括項目名稱,地理位置,每天的租金,建築面積和項目所在的商圈,現在要讓這些項目按經緯度落位到地圖上去,並且按顏色顯示租金的高低,之前比較多的事操作ArcGIS軟件來做,這一次,準備試試pyecharts模塊,直接用python腳本生成。
2.效果圖
效果圖大致如下:
3.完整代碼
import pandas as pd #導入數據分析模塊 from pyecharts.charts import Geo #導入地理信息處理模塊 from pyecharts import options as opts #配置 from pyecharts.render import make_snapshot #快照 from snapshot_selenium import snapshot from pyecharts.globals import ChartType, SymbolType #全局配置 data=pd.read_excel("D:\數有引力\魔都商圈\辦公項目.xlsx") #讀取數據 geo_sight_coord={data['項目名稱'][i].strip(): [data['經度'][i], data['緯度'][i]] for i in range(len(data))} #構造位置字典數據 data_pair=[(data['項目名稱'][i].strip(), data['日租金'][i]) for i in range(len(data))] #構造項目租金數據 g=Geo() #地理初始化 g.add_schema(maptype="上海") #限定上海市范圍 for key, value in geo_sight_coord.items(): #對地理點循環 g.add_coordinate(key, value[0], value[1]) #追加點位置 g.add("", data_pair, symbol_size=2) #追加項目名稱和租金 g.set_series_opts(label_opts=opts.LabelOpts(is_show=False), type='scatter') #星散點圖scatter pieces = [ {'max': 3, 'label': '<3', 'color': '#00B2EE'}, {'min': 3, 'max': 6, '3~6': 'love', 'color': '#71C671'}, {'min': 6, 'max': 10, '6~10': 'always', 'color': '#CD4F39'}, {'min': 10, 'label': '10+', 'color': '#FF0000'} # 有下限無上限 ] g.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=True, pieces=pieces), title_opts=opts.TitleOpts(title="辦公項目分佈")) #辦公項目分佈圖 make_snapshot(snapshot, g.render("上海市辦公項目.html"), "上海市辦公項目.png") #渲染成html格式和png格式
4.代碼解讀
整個流程包括pandas讀取數據和處理,geo生成地圖和向地圖添加數據,渲染地圖,這裡主要介紹處理數據兩點
1,項目名稱,項目經度,項目緯度三個字段構成一個字典類型數據
geo_sight_coord={data['項目名稱'][i].strip(): [data['經度'][i], data['緯度'][i]] for i in range(len(data))}
每個地理數據格式如下:
{"新橋大廈": 121.472534, 31.246122}
2,項目租金數據通過如下語句構造成元組
data_pair=[(data['項目名稱'][i].strip(), data['日租金'][i]) for i in range(len(data))]
每個項目租金數據格式如下:
("新橋大廈": 4.3 )
到此這篇關於利用pyecharts繪制地理散點圖的文章就介紹到這瞭,更多相關pyecharts繪制散點圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 一文帶你掌握Pyecharts地理數據可視化的方法
- Pyecharts可視化圖片渲染的方法詳解
- python用pyecharts實現地圖數據可視化
- Python+Pyecharts實現散點圖的繪制
- 如何利用pyecharts畫好看的餅狀圖