地理地圖數據

pyecharts 內置了一些常用的城市地理座標數據,這些數據保存在 pyecharts/datasets/city_coordinates.json 文件中。格式可描述爲以下形式:

 

{<name>: [<longitude>, <latitude>]}

示例

 

{
    "阿城": [126.58, 45.32],
    "阿克蘇": [80.19, 41.09],
    "阿勒泰": [88.12, 47.50],
}

 

數據來源

數據來自 china_area_mysql,包括省市縣鎮村 5 個層級(港澳地區的數據只有 3 級,臺灣地區 4 級),數據被處理成 json 和 txt 兩種格式類型。

pyecharts 自定義座標

在 pyecharts 中,Geo/Geolines 圖需要定義地區座標,由於全國地區衆多且多重名,pyecharts 無法精確度較高的區域座標。pyecharts 中提供自定義座標的方式有 4 種:

 

1. (推薦) 使用 geo_cities_coords 參數,字典類型,如 {'阿城': [126.58, 45.32],}

coords.txt

"北京": [116.407526, 39.90403],
"北京東城": [116.416357, 39.928353],
"北京東城東華門": [116.406708, 39.914219],
"北京東城東華門多福巷": [116.412747, 39.923014],
"北京東城東華門銀閘": [116.406708, 39.914219],
"北京東城東華門東廠": [116.406708, 39.914219],
"北京東城東華門智德": [116.404642, 39.918634],
"北京東城東華門南池子": [116.40318, 39.907837],
"北京東城東華門黃圖崗": [116.410022, 39.920854],
"北京東城東華門燈市口": [116.414391, 39.918751],

在 coords.txt 中查找對應關鍵字,複製到 geo_cities_coords 參數即可

 

 

2. (推薦) 使用 add_coordinate() 方法提供一個自定義座標

本質上 geo_cities_coords 內部就是調用 add_coordinate() 方法

add_coordinate(self, name: six.text_type, longitude: float, latitude: float): -> None

example:
    add_coordinate("某地", 100.0, 20.0)

 

 

3. (推薦 V0.5.9+) 使用 add_coordinate_json() 方法提供一個自定義座標 JSON 文件

add_coordinate_json(self, json_file: six.text_type): -> None

example:
    add_coordinate_json("my_coords.json")

# my_coords.json
{
    "某地": [100.0, 20.0],
    ...
}

 

 

​​​​​​​4. (不推薦,這種操作方式一旦 pyecharts 更新,座標會失效) 

Hack pyecharts 源代碼,對應文件位於 Lib/site-packages/pyecharts/datasets/city_coordinates.json 具體路徑根據操作系統和 Python 環境而定。

coords.json

[
    {"北京": [116.407526, 39.90403]},
    {"北京東城": [116.416357, 39.928353]},
    {"北京東城東華門": [116.406708, 39.914219]},
    {"北京東城東華門多福巷": [116.412747, 39.923014]},
    {"北京東城東華門銀閘": [116.406708, 39.914219]},
    {"北京東城東華門東廠": [116.406708, 39.914219]},
    {"北京東城東華門智德": [116.404642, 39.918634]},
    {"北京東城東華門南池子": [116.40318, 39.907837]},
    {"北京東城東華門黃圖崗": [116.410022, 39.920854]},
    {"北京東城東華門燈市口": [116.414391, 39.918751]},
    ...
]

在 coords.json 中查找對應關鍵字,補充到 city_coordinates.json 文件中即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章