pyecharts 自定义地图之添加js文件

针对pyecharts 自定义地图这块儿,发现官网上虽有介绍,但部分功能点,在实际操作过程中,由于版本问题,导致操作代码过程中直接报异常。

下面单独拿出来添加地图的 JS 文件至本地环境中操作的过程。

 

先引用下官网原文内容,如下:

=================================================================================================

对应版本:VERSION 0.1.9.X

而后操作步骤:下载南澳县地图的 JS 文件,请更名为 nanao.js。将其保存在项目安装目录下的 templates/js/echarts 文件夹中。Windows 下一般为 Lib/site-packages/pyecharts/templates/js/echarts

然后呢,在你的代码里需要加下面的两行

代码中使用如下命令进行引用:

import pyecharts.constants as constants

constants.CITY_NAME_PINYIN_MAP['南澳县'] = 'nanao'

================================================================================================= 

而使用如上方法后,在运行代码时,直接报 "AttributeError: module 'pyecharts.constants' has no attribute 'CITY_NAME_PINYIN_MAP"

对以上报错的关键字搜了(度娘、谷歌)好久,包括解决办法、或者是否在新的pycharts版本中有其他什么模块对该进行了代替,均未能找到答案。

 

于是我有了一个大胆的想法,即将下载好的某个地市的js文件,替换掉原来颗粒度没有在市级以下的地图的JS文件,想到就赶紧操作起来(因使用Pip install安装的地图包中没有东莞各镇区的信息,因此本例中以东莞市为例):

1.找到通过pip install安装后的地图JS包的位置,确认需要替换的JS地图文件,我的例子中对应的文件内容如下:

pyecharts 自定义地图之添加js文件_第1张图片

2.将下载来下的js文件,重命名成与该文件同一文件名,而后直接替换掉该文件即可。

3.将原来的官网上的代码注释掉,重新运行即可生成相应地市的地图:

from pyecharts import Map, Geo

# # 东莞地图
map3 = Map("东莞地图",'东莞', width=1200, height=600)
value112 = [888,850,678,11111,12233,'23424']
attr = ['东城街道','南城街道','莞城街道','万江街道','塘厦镇','长安镇']
map3.add("东莞", attr, value112, visual_range=[1, 10], maptype='东莞', is_visualmap=True,
        visual_text_color='#010')

map3.render("04-03东莞地图.html")

 

至此,东莞地市包括所有镇区的地图就已生成了。

 

pyecharts 自定义地图之添加js文件_第2张图片

你可能感兴趣的:(python)