https://github.com/pyecharts/geo-region-coords
pyecharts 自定義坐標
在 pyecharts 中,Geo/Geolines 圖需要定義地區坐標,由於全國地區眾多且多重名,pyecharts 無法精確度較高的區域坐標。pyecharts 中提供自定義坐標的方式有 4 種:
-
(推薦) 使用
geo_cities_coords
參數,字典類型,如 {'阿城': [126.58, 45.32],}coords.txt
1 "北京": [116.407526, 39.90403], 2 "北京東城": [116.416357, 39.928353], 3 "北京東城東華門": [116.406708, 39.914219], 4 "北京東城東華門多福巷": [116.412747, 39.923014], 5 "北京東城東華門銀閘": [116.406708, 39.914219], 6 "北京東城東華門東廠": [116.406708, 39.914219], 7 "北京東城東華門智德": [116.404642, 39.918634], 8 "北京東城東華門南池子": [116.40318, 39.907837], 9 "北京東城東華門黃圖崗": [116.410022, 39.920854], 10 "北京東城東華門燈市口": [116.414391, 39.918751],
在 coords.txt 中查找對應關鍵字,復制到
geo_cities_coords
參數即可 -
(推薦) 使用
add_coordinate()
方法提供一個自定義坐標本質上
geo_cities_coords
內部就是調用add_coordinate()
方法1 add_coordinate(self, name: six.text_type, longitude: float, latitude: float): -> None 2 3 example: 4 add_coordinate("某地", 100.0, 20.0)
-
(推薦 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], ... }
-
(不推薦,這種操作方式一旦 pyecharts 更新,坐標會失效) Hack pyecharts 源代碼,對應文件位於
Lib/site-packages/pyecharts/datasets/city_coordinates.json
具體路徑根據操作系統和 Python 環境而定。coords.json
1 [ 2 {"北京": [116.407526, 39.90403]}, 3 {"北京東城": [116.416357, 39.928353]}, 4 {"北京東城東華門": [116.406708, 39.914219]}, 5 {"北京東城東華門多福巷": [116.412747, 39.923014]}, 6 {"北京東城東華門銀閘": [116.406708, 39.914219]}, 7 {"北京東城東華門東廠": [116.406708, 39.914219]}, 8 {"北京東城東華門智德": [116.404642, 39.918634]}, 9 {"北京東城東華門南池子": [116.40318, 39.907837]}, 10 {"北京東城東華門黃圖崗": [116.410022, 39.920854]}, 11 {"北京東城東華門燈市口": [116.414391, 39.918751]}, 12 ... 13 ]
在 coords.json 中查找對應關鍵字,補充到 city_coordinates.json 文件中即可