pyecharts 自定义坐标(网转)

https://github.com/pyecharts/geo-region-coords

 

pyecharts 自定义坐标

在 pyecharts 中,Geo/Geolines 图需要定义地区坐标,由于全国地区众多且多重名,pyecharts 无法精确度较高的区域坐标。pyecharts 中提供自定义坐标的方式有 4 种:

  1. (推荐) 使用 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 参数即可

  2. (推荐) 使用 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)

     

  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

     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 文件中即可

posted @ 2022-04-18 10:18  EROEG  阅读(811)  评论(0编辑  收藏  举报