From 2d5f9f752fb4926a244c3b6c2129ac9aed434b89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E9=94=AE=E5=86=AC?= Date: Thu, 28 Mar 2019 01:42:18 +0800 Subject: [PATCH] Add: add table and fuck notebook --- example/table_example.py | 16 + pyecharts/charts/base.py | 40 +- pyecharts/commons/utils.py | 3 +- pyecharts/components/__init__.py | 1 + pyecharts/components/table.py | 43 ++ pyecharts/datasets/map_filename.json | 833 +++++++++++++------------- pyecharts/render/engine.py | 3 +- pyecharts/render/templates/table.html | 3 + 8 files changed, 504 insertions(+), 438 deletions(-) create mode 100644 example/table_example.py create mode 100644 pyecharts/components/table.py create mode 100644 pyecharts/render/templates/table.html diff --git a/example/table_example.py b/example/table_example.py new file mode 100644 index 00000000..81e1cc3c --- /dev/null +++ b/example/table_example.py @@ -0,0 +1,16 @@ +from pyecharts.components import Table + +table = Table() + +headers = ["City name", "Area", "Population", "Annual Rainfall"] +rows = [ + ["Brisbane", 5905, 1857594, 1146.4], + ["Adelaide", 1295, 1158259, 600.5], + ["Darwin", 112, 120900, 1714.7], + ["Hobart", 1357, 205556, 619.5], + ["Sydney", 2058, 4336374, 1214.8], + ["Melbourne", 1566, 3806092, 646.9], + ["Perth", 5386, 1554769, 869.4], +] +c = table.add(headers, rows)._repr_html_() +print(c) diff --git a/pyecharts/charts/base.py b/pyecharts/charts/base.py index e425e2ab..b7cd4618 100644 --- a/pyecharts/charts/base.py +++ b/pyecharts/charts/base.py @@ -63,37 +63,37 @@ class Base: self.js_dependencies.add(self.theme) def _repr_html_(self): - if CurrentConfig.NOTEBOOK_TYPE == NotebookType.JUPYTER_NOTEBOOK: - require_config = utils.produce_require_dict( + # if CurrentConfig.NOTEBOOK_TYPE == NotebookType.JUPYTER_NOTEBOOK: + require_config = utils.produce_require_dict( self.js_dependencies, self.js_host ) - self.options = self.dump_options() - self._use_theme() - return RenderEngine().render_chart_to_notebook( - template_name="jupyter_notebook.html", - charts=(self,), - config_items=require_config["config_items"], - libraries=require_config["libraries"], - ) + self.options = self.dump_options() + self._use_theme() + return RenderEngine().render_chart_to_notebook( + template_name="jupyter_notebook.html", + charts=(self,), + config_items=require_config["config_items"], + libraries=require_config["libraries"], + ) - if CurrentConfig.NOTEBOOK_TYPE == NotebookType.JUPYTER_LAB: - self.options = self.dump_options() - return RenderEngine().render_chart_to_notebook( - template_name="jupyter_lab.html", charts=(self,) - ) - - if CurrentConfig.NOTEBOOK_TYPE == NotebookType.NTERACT: - pass + # if CurrentConfig.NOTEBOOK_TYPE == NotebookType.JUPYTER_LAB: + # self.options = self.dump_options() + # return RenderEngine().render_chart_to_notebook( + # template_name="jupyter_lab.html", charts=(self,) + # ) + # + # if CurrentConfig.NOTEBOOK_TYPE == NotebookType.NTERACT: + # pass def _repr_javascript_(self): scripts = [] for idx, dep in enumerate(self.js_dependencies.items): + f, ext = FILENAMES[dep] scripts.append( "var s{idx} = document.createElement('script'); " "s{idx}.src = '{dep}';" "document.head.appendChild(s{idx});".format( - idx=idx, - dep="{}{}.js".format(CurrentConfig.ONLINE_HOST, FILENAMES[dep]), + idx=idx, dep="{}{}.{}".format(CurrentConfig.ONLINE_HOST, f, ext) ) ) return "".join(scripts) diff --git a/pyecharts/commons/utils.py b/pyecharts/commons/utils.py index aa99bf58..4ef9654f 100644 --- a/pyecharts/commons/utils.py +++ b/pyecharts/commons/utils.py @@ -22,7 +22,8 @@ def filter_js_func(fn: str) -> str: def produce_require_dict(js_dependencies, js_host) -> dict: confs, libraries = [], [] for name in js_dependencies.items: - confs.append("'{}':'{}{}'".format(name, js_host, FILENAMES[name])) + f, _ = FILENAMES[name] + confs.append("'{}':'{}{}'".format(name, js_host, f)) libraries.append("'{}'".format(name)) return dict(config_items=confs, libraries=libraries) diff --git a/pyecharts/components/__init__.py b/pyecharts/components/__init__.py index e69de29b..2ea2d388 100644 --- a/pyecharts/components/__init__.py +++ b/pyecharts/components/__init__.py @@ -0,0 +1 @@ +from .table import Table diff --git a/pyecharts/components/table.py b/pyecharts/components/table.py new file mode 100644 index 00000000..6525d636 --- /dev/null +++ b/pyecharts/components/table.py @@ -0,0 +1,43 @@ +# coding=utf-8 +from prettytable import PrettyTable + +from ..commons.types import List +from ..globals import CurrentConfig +from ..render.engine import RenderEngine +from ..commons import utils + + +class Table: + def __init__( + self, + page_title: str = "Awesome-pyecharts", + js_host: str = CurrentConfig.ONLINE_HOST, + ): + self.page_title = page_title + self.js_host = js_host + self.js_dependencies = utils.OrderedSet("bulma") + self._charts = [] + + def add(self, headers: List, rows: List): + table = PrettyTable(headers) + for r in rows: + table.add_row(r) + self._charts.append( + table.get_html_string( + attributes={ + "class": "table is-bordered is-striped is-narrow is-hoverable is-fullwidth" + } + ) + ) + return self + + # List-Like Feature + def __iter__(self): + for chart in self._charts: + yield chart + + def __len__(self): + return len(self._charts) + + def _repr_html_(self): + return RenderEngine().render_chart_to_notebook("table.html", chart=self) diff --git a/pyecharts/datasets/map_filename.json b/pyecharts/datasets/map_filename.json index 28874dab..81941555 100644 --- a/pyecharts/datasets/map_filename.json +++ b/pyecharts/datasets/map_filename.json @@ -1,418 +1,419 @@ { - "echarts": "echarts.min", - "echarts-gl": "echarts-gl.min", - "echarts-liquidfill": "echarts-liquidfill.min", - "echarts-wordcloud": "echarts-wordcloud.min", - "chalk": "themes/chalk", - "essos": "themes/essos", - "infographic": "themes/infographic", - "macarons": "themes/macarons", - "purple-passion": "themes/purple-passion", - "roma": "themes/roma", - "romantic": "themes/romantic", - "shine": "themes/shine", - "vintage": "themes/vintage", - "walden": "themes/walden", - "westeros": "themes/westeros", - "wonderland": "themes/wonderland", - "china": "maps/china", - "world": "maps/world", - "广东": "maps/guangdong", - "安徽": "maps/anhui", - "福建": "maps/fujian", - "甘肃": "maps/gansu", - "广西": "maps/guangxi", - "贵州": "maps/guizhou", - "海南": "maps/hainan", - "河北": "maps/hebei", - "黑龙江": "maps/heilongjiang", - "河南": "maps/henan", - "湖北": "maps/hubei", - "湖南": "maps/hunan", - "江苏": "maps/jiangsu", - "江西": "maps/jiangxi", - "吉林": "maps/jilin", - "辽宁": "maps/liaoning", - "内蒙古": "maps/neimenggu", - "宁夏": "maps/ningxia", - "青海": "maps/qinghai", - "山东": "maps/shandong", - "山西": "maps/shanxi", - "陕西": "maps/shanxi1", - "四川": "maps/sichuan", - "台湾": "maps/taiwan", - "新疆": "maps/xinjiang", - "西藏": "maps/xizang", - "云南": "maps/yunnan", - "浙江": "maps/zhejiang", - "七台河": "maps/hei1_long2_jiang1_qi1_tai2_he2", - "万宁": "maps/hai3_nan2_wan4_ning2", - "三亚": "maps/hai3_nan2_san1_ya4", - "三明": "maps/fu2_jian4_san1_ming2", - "三沙": "maps/hai3_nan2_san1_sha1", - "三门峡": "maps/he2_nan2_san1_men2_xia2", - "上海": "maps/shanghai", - "上饶": "maps/jiang1_xi1_shang4_rao2", - "东方": "maps/hai3_nan2_dong1_fang1", - "东沙群岛": "maps/guang3_dong1_dong1_sha1_qun2_dao3", - "东莞": "maps/guang3_dong1_dong1_guan1", - "东营": "maps/shan1_dong1_dong1_ying2", - "中卫": "maps/ning2_xia4_zhong1_wei4", - "中山": "maps/guang3_dong1_zhong1_shan1", - "临夏回族自治州": "maps/gan1_su4_lin2_xia4_hui2_zu2_zi4_zhi4_zhou1", - "临汾": "maps/shan1_xi1_lin2_fen2", - "临沂": "maps/shan1_dong1_lin2_yi2", - "临沧": "maps/yun2_nan2_lin2_cang1", - "临高县": "maps/hai3_nan2_lin2_gao1_xian4", - "丹东": "maps/liao2_ning2_dan1_dong1", - "丽水": "maps/zhe4_jiang1_li4_shui3", - "丽江": "maps/yun2_nan2_li4_jiang1", - "乌兰察布": "maps/nei4_meng2_gu3_wu1_lan2_cha2_bu4", - "乌海": "maps/nei4_meng2_gu3_wu1_hai3", - "乌鲁木齐": "maps/xin1_jiang1_wu1_lu3_mu4_qi2", - "乐东黎族自治县": "maps/hai3_nan2_le4_dong1_li2_zu2_zi4_zhi4_xian4", - "乐山": "maps/si4_chuan1_le4_shan1", - "九江": "maps/jiang1_xi1_jiu3_jiang1", - "云浮": "maps/guang3_dong1_yun2_fu2", - "五家渠": "maps/xin1_jiang1_wu3_jia1_qu2", - "五指山": "maps/hai3_nan2_wu3_zhi3_shan1", - "亳州": "maps/an1_hui1_bo2_zhou1", - "仙桃": "maps/hu2_bei3_xian1_tao2", - "伊春": "maps/hei1_long2_jiang1_yi1_chun1", - "伊犁哈萨克自治州": "maps/xin1_jiang1_yi1_li2_ha1_sa4_ke4_zi4_zhi4_zhou1", - "佛山": "maps/guang3_dong1_fo2_shan1", - "佳木斯": "maps/hei1_long2_jiang1_jia1_mu4_si1", - "保亭黎族苗族自治县": "maps/hai3_nan2_bao3_ting2_li2_zu2_miao2_zu2_zi4_zhi4_xian4", - "保定": "maps/he2_bei3_bao3_ding4", - "保山": "maps/yun2_nan2_bao3_shan1", - "信阳": "maps/he2_nan2_xin4_yang2", - "儋州": "maps/hai3_nan2_dan1_zhou1", - "克孜勒苏柯尔克孜自治州": "maps/xin1_jiang1_ke4_zi1_le4_su1_ke1_er3_ke4_zi1_zi4_zhi4_zhou1", - "克拉玛依": "maps/xin1_jiang1_ke4_la1_ma3_yi1", - "六安": "maps/an1_hui1_liu4_an1", - "六盘水": "maps/gui4_zhou1_liu4_pan2_shui3", - "兰州": "maps/gan1_su4_lan2_zhou1", - "兴安盟": "maps/nei4_meng2_gu3_xing1_an1_meng2", - "内江": "maps/si4_chuan1_nei4_jiang1", - "凉山彝族自治州": "maps/si4_chuan1_liang2_shan1_yi2_zu2_zi4_zhi4_zhou1", - "包头": "maps/nei4_meng2_gu3_bao1_tou2", - "北京": "maps/beijing", - "北屯": "maps/xin1_jiang1_bei3_tun2", - "北海": "maps/guang3_xi1_bei3_hai3", - "十堰": "maps/hu2_bei3_shi2_yan4", - "南京": "maps/jiang1_su1_nan2_jing1", - "南充": "maps/si4_chuan1_nan2_chong1", - "南宁": "maps/guang3_xi1_nan2_ning2", - "南平": "maps/fu2_jian4_nan2_ping2", - "南昌": "maps/jiang1_xi1_nan2_chang1", - "南通": "maps/jiang1_su1_nan2_tong1", - "南阳": "maps/he2_nan2_nan2_yang2", - "博尔塔拉蒙古自治州": "maps/xin1_jiang1_bo2_er3_ta3_la1_meng2_gu3_zi4_zhi4_zhou1", - "厦门": "maps/fu2_jian4_sha4_men2", - "双河": "maps/xin1_jiang1_shuang1_he2", - "双鸭山": "maps/hei1_long2_jiang1_shuang1_ya1_shan1", - "可克达拉": "maps/xin1_jiang1_ke3_ke4_da2_la1", - "台州": "maps/zhe4_jiang1_tai2_zhou1", - "合肥": "maps/an1_hui1_he2_fei2", - "吉安": "maps/jiang1_xi1_ji2_an1", - "吉林市": "maps/ji2_lin2_ji2_lin2", - "吐鲁番": "maps/xin1_jiang1_tu3_lu3_fan1", - "吕梁": "maps/shan1_xi1_lv3_liang2", - "吴忠": "maps/ning2_xia4_wu2_zhong1", - "周口": "maps/he2_nan2_zhou1_kou3", - "呼伦贝尔": "maps/nei4_meng2_gu3_hu1_lun2_bei4_er3", - "呼和浩特": "maps/nei4_meng2_gu3_hu1_he2_hao4_te4", - "和田地区": "maps/xin1_jiang1_he2_tian2_di4_qu1", - "咸宁": "maps/hu2_bei3_xian2_ning2", - "咸阳": "maps/shan3_xi1_xian2_yang2", - "哈密": "maps/xin1_jiang1_ha1_mi4", - "哈尔滨": "maps/hei1_long2_jiang1_ha1_er3_bin1", - "唐山": "maps/he2_bei3_tang2_shan1", - "商丘": "maps/he2_nan2_shang1_qiu1", - "商洛": "maps/shan3_xi1_shang1_luo4", - "喀什地区": "maps/xin1_jiang1_ka1_shi2_di4_qu1", - "嘉兴": "maps/zhe4_jiang1_jia1_xing1", - "嘉峪关": "maps/gan1_su4_jia1_yu4_guan1", - "四平": "maps/ji2_lin2_si4_ping2", - "固原": "maps/ning2_xia4_gu4_yuan2", - "图木舒克": "maps/xin1_jiang1_tu2_mu4_shu1_ke4", - "塔城地区": "maps/xin1_jiang1_ta3_cheng2_di4_qu1", - "大兴安岭地区": "maps/hei1_long2_jiang1_da4_xing1_an1_ling2_di4_qu1", - "大同": "maps/shan1_xi1_da4_tong2", - "大庆": "maps/hei1_long2_jiang1_da4_qing4", - "大理白族自治州": "maps/yun2_nan2_da4_li3_bai2_zu2_zi4_zhi4_zhou1", - "大连": "maps/liao2_ning2_da4_lian2", - "天水": "maps/gan1_su4_tian1_shui3", - "天津": "maps/tianjin", - "天门": "maps/hu2_bei3_tian1_men2", - "太原": "maps/shan1_xi1_tai4_yuan2", - "威海": "maps/shan1_dong1_wei1_hai3", - "娄底": "maps/hu2_nan2_lou2_di3", - "孝感": "maps/hu2_bei3_xiao4_gan3", - "宁德": "maps/fu2_jian4_ning2_de2", - "宁波": "maps/zhe4_jiang1_ning2_bo1", - "安庆": "maps/an1_hui1_an1_qing4", - "安康": "maps/shan3_xi1_an1_kang1", - "安阳": "maps/he2_nan2_an1_yang2", - "安顺": "maps/gui4_zhou1_an1_shun4", - "定安县": "maps/hai3_nan2_ding4_an1_xian4", - "定西": "maps/gan1_su4_ding4_xi1", - "宜宾": "maps/si4_chuan1_yi2_bin1", - "宜昌": "maps/hu2_bei3_yi2_chang1", - "宜春": "maps/jiang1_xi1_yi2_chun1", - "宝鸡": "maps/shan3_xi1_bao3_ji1", - "宣城": "maps/an1_hui1_xuan1_cheng2", - "宿州": "maps/an1_hui1_su4_zhou1", - "宿迁": "maps/jiang1_su1_su4_qian1", - "屯昌县": "maps/hai3_nan2_tun2_chang1_xian4", - "山南": "maps/xi1_cang2_shan1_nan2", - "岳阳": "maps/hu2_nan2_yue4_yang2", - "崇左": "maps/guang3_xi1_chong2_zuo3", - "巴中": "maps/si4_chuan1_ba1_zhong1", - "巴彦淖尔": "maps/nei4_meng2_gu3_ba1_yan4_nao4_er3", - "巴音郭楞蒙古自治州": "maps/xin1_jiang1_ba1_yin1_guo1_leng2_meng2_gu3_zi4_zhi4_zhou1", - "常州": "maps/jiang1_su1_chang2_zhou1", - "常德": "maps/hu2_nan2_chang2_de2", - "平凉": "maps/gan1_su4_ping2_liang2", - "平顶山": "maps/he2_nan2_ping2_ding3_shan1", - "广元": "maps/si4_chuan1_guang3_yuan2", - "广安": "maps/si4_chuan1_guang3_an1", - "广州": "maps/guang3_dong1_guang3_zhou1", - "庆阳": "maps/gan1_su4_qing4_yang2", - "廊坊": "maps/he2_bei3_lang2_fang1", - "延安": "maps/shan3_xi1_yan2_an1", - "延边朝鲜族自治州": "maps/ji2_lin2_yan2_bian1_zhao1_xian1_zu2_zi4_zhi4_zhou1", - "开封": "maps/he2_nan2_kai1_feng1", - "张家口": "maps/he2_bei3_zhang1_jia1_kou3", - "张家界": "maps/hu2_nan2_zhang1_jia1_jie4", - "张掖": "maps/gan1_su4_zhang1_ye4", - "徐州": "maps/jiang1_su1_xu2_zhou1", - "德宏傣族景颇族自治州": "maps/yun2_nan2_de2_hong2_dai3_zu2_jing3_po3_zu2_zi4_zhi4_zhou1", - "德州": "maps/shan1_dong1_de2_zhou1", - "德阳": "maps/si4_chuan1_de2_yang2", - "忻州": "maps/shan1_xi1_xin1_zhou1", - "怀化": "maps/hu2_nan2_huai2_hua4", - "怒江傈僳族自治州": "maps/yun2_nan2_nu4_jiang1_li4_su4_zu2_zi4_zhi4_zhou1", - "恩施土家族苗族自治州": "maps/hu2_bei3_en1_shi1_tu3_jia1_zu2_miao2_zu2_zi4_zhi4_zhou1", - "惠州": "maps/guang3_dong1_hui4_zhou1", - "成都": "maps/si4_chuan1_cheng2_du1", - "扬州": "maps/jiang1_su1_yang2_zhou1", - "承德": "maps/he2_bei3_cheng2_de2", - "抚州": "maps/jiang1_xi1_fu3_zhou1", - "抚顺": "maps/liao2_ning2_fu3_shun4", - "拉萨": "maps/xi1_cang2_la1_sa4", - "揭阳": "maps/guang3_dong1_jie1_yang2", - "攀枝花": "maps/si4_chuan1_pan1_zhi1_hua1", - "文山壮族苗族自治州": "maps/yun2_nan2_wen2_shan1_zhuang4_zu2_miao2_zu2_zi4_zhi4_zhou1", - "文昌": "maps/hai3_nan2_wen2_chang1", - "新乡": "maps/he2_nan2_xin1_xiang1", - "新余": "maps/jiang1_xi1_xin1_yu2", - "无锡": "maps/jiang1_su1_wu2_xi2", - "日喀则": "maps/xi1_cang2_ri4_ka1_ze2", - "日照": "maps/shan1_dong1_ri4_zhao4", - "昆明": "maps/yun2_nan2_kun1_ming2", - "昆玉": "maps/xin1_jiang1_kun1_yu4", - "昌吉回族自治州": "maps/xin1_jiang1_chang1_ji2_hui2_zu2_zi4_zhi4_zhou1", - "昌江黎族自治县": "maps/hai3_nan2_chang1_jiang1_li2_zu2_zi4_zhi4_xian4", - "昌都": "maps/xi1_cang2_chang1_du1", - "昭通": "maps/yun2_nan2_zhao1_tong1", - "晋中": "maps/shan1_xi1_jin4_zhong1", - "晋城": "maps/shan1_xi1_jin4_cheng2", - "普洱": "maps/yun2_nan2_pu3_er3", - "景德镇": "maps/jiang1_xi1_jing3_de2_zhen4", - "曲靖": "maps/yun2_nan2_qu1_jing4", - "朔州": "maps/shan1_xi1_shuo4_zhou1", - "朝阳": "maps/liao2_ning2_zhao1_yang2", - "本溪": "maps/liao2_ning2_ben3_xi1", - "来宾": "maps/guang3_xi1_lai2_bin1", - "杭州": "maps/zhe4_jiang1_hang2_zhou1", - "松原": "maps/ji2_lin2_song1_yuan2", - "林芝": "maps/xi1_cang2_lin2_zhi1", - "果洛藏族自治州": "maps/qing1_hai3_guo3_luo4_cang2_zu2_zi4_zhi4_zhou1", - "枣庄": "maps/shan1_dong1_zao3_zhuang1", - "柳州": "maps/guang3_xi1_liu3_zhou1", - "株洲": "maps/hu2_nan2_zhu1_zhou1", - "桂林": "maps/guang3_xi1_gui4_lin2", - "梅州": "maps/guang3_dong1_mei2_zhou1", - "梧州": "maps/guang3_xi1_wu2_zhou1", - "楚雄彝族自治州": "maps/yun2_nan2_chu3_xiong2_yi2_zu2_zi4_zhi4_zhou1", - "榆林": "maps/shan3_xi1_yu2_lin2", - "武威": "maps/gan1_su4_wu3_wei1", - "武汉": "maps/hu2_bei3_wu3_han4", - "毕节": "maps/gui4_zhou1_bi4_jie2", - "永州": "maps/hu2_nan2_yong3_zhou1", - "汉中": "maps/shan3_xi1_han4_zhong1", - "汕头": "maps/guang3_dong1_shan4_tou2", - "汕尾": "maps/guang3_dong1_shan4_wei3", - "江门": "maps/guang3_dong1_jiang1_men2", - "池州": "maps/an1_hui1_chi2_zhou1", - "沈阳": "maps/liao2_ning2_shen3_yang2", - "沧州": "maps/he2_nan2_cang1_zhou1", - "河池": "maps/guang3_xi1_he2_chi2", - "河源": "maps/guang3_dong1_he2_yuan2", - "泉州": "maps/fu2_jian4_quan2_zhou1", - "泰安": "maps/shan1_dong1_tai4_an1", - "泰州": "maps/jiang1_su1_tai4_zhou1", - "泸州": "maps/si4_chuan1_lu2_zhou1", - "洛阳": "maps/he2_nan2_luo4_yang2", - "济南": "maps/shan1_dong1_ji4_nan2", - "济宁": "maps/shan1_dong1_ji4_ning2", - "济源": "maps/he2_nan2_ji4_yuan2", - "海东": "maps/qing1_hai3_hai3_dong1", - "海北藏族自治州": "maps/qing1_hai3_hai3_bei3_cang2_zu2_zi4_zhi4_zhou1", - "海南藏族自治州": "maps/qing1_hai3_hai3_nan2_cang2_zu2_zi4_zhi4_zhou1", - "海口": "maps/hai3_nan2_hai3_kou3", - "海西蒙古族藏族自治州": "maps/qing1_hai3_hai3_xi1_meng2_gu3_zu2_cang2_zu2_zi4_zhi4_zhou1", - "淄博": "maps/shan1_dong1_zi1_bo2", - "淮北": "maps/an1_hui1_huai2_bei3", - "淮南": "maps/an1_hui1_huai2_nan2", - "淮安": "maps/jiang1_su1_huai2_an1", - "深圳": "maps/guang3_dong1_shen1_zhen4", - "清远": "maps/guang3_dong1_qing1_yuan3", - "温州": "maps/zhe4_jiang1_wen1_zhou1", - "渭南": "maps/shan3_xi1_wei4_nan2", - "湖州": "maps/zhe4_jiang1_hu2_zhou1", - "湘潭": "maps/hu2_nan2_xiang1_tan2", - "湘西土家族苗族自治州": "maps/hu2_nan2_xiang1_xi1_tu3_jia1_zu2_miao2_zu2_zi4_zhi4_zhou1", - "湛江": "maps/guang3_dong1_zhan4_jiang1", - "滁州": "maps/an1_hui1_chu2_zhou1", - "滨州": "maps/shan1_dong1_bin1_zhou1", - "漯河": "maps/he2_nan2_ta4_he2", - "漳州": "maps/fu2_jian4_zhang1_zhou1", - "潍坊": "maps/shan1_dong1_wei2_fang1", - "潜江": "maps/hu2_bei3_qian2_jiang1", - "潮州": "maps/guang3_dong1_chao2_zhou1", - "澄迈县": "maps/hai3_nan2_cheng2_mai4_xian4", - "澳门": "maps/aomen", - "濮阳": "maps/he2_nan2_pu2_yang2", - "烟台": "maps/shan1_dong1_yan1_tai2", - "焦作": "maps/he2_nan2_jiao1_zuo4", - "牡丹江": "maps/hei1_long2_jiang1_mu3_dan1_jiang1", - "玉林": "maps/guang3_xi1_yu4_lin2", - "玉树藏族自治州": "maps/qing1_hai3_yu4_shu4_cang2_zu2_zi4_zhi4_zhou1", - "玉溪": "maps/yun2_nan2_yu4_xi1", - "珠海": "maps/guang3_dong1_zhu1_hai3", - "琼中黎族苗族自治县": "maps/hai3_nan2_qiong2_zhong1_li2_zu2_miao2_zu2_zi4_zhi4_xian4", - "琼海": "maps/hai3_nan2_qiong2_hai3", - "甘南藏族自治州": "maps/gan1_su4_gan1_nan2_cang2_zu2_zi4_zhi4_zhou1", - "甘孜藏族自治州": "maps/si4_chuan1_gan1_zi1_cang2_zu2_zi4_zhi4_zhou1", - "白城": "maps/ji2_lin2_bai2_cheng2", - "白山": "maps/ji2_lin2_bai2_shan1", - "白沙黎族自治县": "maps/hai3_nan2_bai2_sha1_li2_zu2_zi4_zhi4_xian4", - "白银": "maps/gan1_su4_bai2_yin2", - "百色": "maps/guang3_xi1_bai3_se4", - "益阳": "maps/hu2_nan2_yi4_yang2", - "盐城": "maps/jiang1_su1_yan2_cheng2", - "盘锦": "maps/liao2_ning2_pan2_jin3", - "眉山": "maps/si4_chuan1_mei2_shan1", - "石嘴山": "maps/ning2_xia4_shi2_zui3_shan1", - "石家庄": "maps/he2_bei3_shi2_jia1_zhuang1", - "石河子": "maps/xin1_jiang1_shi2_he2_zi3", - "神农架林区": "maps/hu2_bei3_shen2_nong2_jia4_lin2_qu1", - "福州": "maps/fu2_jian4_fu2_zhou1", - "秦皇岛": "maps/he2_bei3_qin2_huang2_dao3", - "红河哈尼族彝族自治州": "maps/yun2_nan2_hong2_he2_ha1_ni2_zu2_yi2_zu2_zi4_zhi4_zhou1", - "绍兴": "maps/zhe4_jiang1_shao4_xing1", - "绥化": "maps/hei1_long2_jiang1_sui1_hua4", - "绵阳": "maps/si4_chuan1_mian2_yang2", - "聊城": "maps/shan1_dong1_liao2_cheng2", - "肇庆": "maps/guang3_dong1_zhao4_qing4", - "自贡": "maps/si4_chuan1_zi4_gong4", - "舟山": "maps/zhe4_jiang1_zhou1_shan1", - "芜湖": "maps/an1_hui1_wu2_hu2", - "苏州": "maps/jiang1_su1_su1_zhou1", - "茂名": "maps/guang3_dong1_mao4_ming2", - "荆州": "maps/hu2_bei3_jing1_zhou1", - "荆门": "maps/hu2_bei3_jing1_men2", - "莆田": "maps/fu2_jian4_fu3_tian2", - "莱芜": "maps/shan1_dong1_lai2_wu2", - "菏泽": "maps/shan1_dong1_he2_ze2", - "萍乡": "maps/jiang1_xi1_ping2_xiang1", - "营口": "maps/liao2_ning2_ying2_kou3", - "葫芦岛": "maps/liao2_ning2_hu2_lu2_dao3", - "蚌埠": "maps/an1_hui1_bang4_bu4", - "衡水": "maps/he2_bei3_heng2_shui3", - "衡阳": "maps/hu2_nan2_heng2_yang2", - "衢州": "maps/zhe4_jiang1_qu2_zhou1", - "襄阳": "maps/hu2_bei3_xiang1_yang2", - "西双版纳傣族自治州": "maps/yun2_nan2_xi1_shuang1_ban3_na4_dai3_zu2_zi4_zhi4_zhou1", - "西宁": "maps/qing1_hai3_xi1_ning2", - "西安": "maps/shan3_xi1_xi1_an1", - "许昌": "maps/he2_nan2_xu3_chang1", - "贵港": "maps/guang3_xi1_gui4_gang3", - "贵阳": "maps/gui4_zhou1_gui4_yang2", - "贺州": "maps/guang3_xi1_he4_zhou1", - "资阳": "maps/si4_chuan1_zi1_yang2", - "赣州": "maps/jiang1_xi1_gan4_zhou1", - "赤峰": "maps/nei4_meng2_gu3_chi4_feng1", - "辽源": "maps/ji2_lin2_liao2_yuan2", - "辽阳": "maps/liao2_ning2_liao2_yang2", - "达州": "maps/si4_chuan1_da2_zhou1", - "运城": "maps/shan1_xi1_yun4_cheng2", - "连云港": "maps/jiang1_su1_lian2_yun2_gang3", - "迪庆藏族自治州": "maps/yun2_nan2_di2_qing4_cang2_zu2_zi4_zhi4_zhou1", - "通化": "maps/ji2_lin2_tong1_hua4", - "通辽": "maps/nei4_meng2_gu3_tong1_liao2", - "遂宁": "maps/si4_chuan1_sui4_ning2", - "遵义": "maps/gui4_zhou1_zun1_yi4", - "邢台": "maps/he2_bei3_xing2_tai2", - "那曲地区": "maps/xi1_cang2_na4_qu1_di4_qu1", - "邯郸": "maps/he2_bei3_han2_dan1", - "邵阳": "maps/hu2_nan2_shao4_yang2", - "郑州": "maps/he2_nan2_zheng4_zhou1", - "郴州": "maps/hu2_nan2_chen1_zhou1", - "鄂尔多斯": "maps/nei4_meng2_gu3_e4_er3_duo1_si1", - "鄂州": "maps/hu2_bei3_e4_zhou1", - "酒泉": "maps/gan1_su4_jiu3_quan2", - "重庆": "maps/chongqing", - "金华": "maps/zhe4_jiang1_jin1_hua2", - "金昌": "maps/gan1_su4_jin1_chang1", - "钦州": "maps/guang3_xi1_qin1_zhou1", - "铁岭": "maps/liao2_ning2_tie3_ling2", - "铁门关": "maps/xin1_jiang1_tie3_men2_guan1", - "铜仁": "maps/gui4_zhou1_tong2_ren2", - "铜川": "maps/shan3_xi1_tong2_chuan1", - "铜陵": "maps/an1_hui1_tong2_ling2", - "银川": "maps/ning2_xia4_yin2_chuan1", - "锡林郭勒盟": "maps/nei4_meng2_gu3_xi2_lin2_guo1_le4_meng2", - "锦州": "maps/liao2_ning2_jin3_zhou1", - "镇江": "maps/jiang1_su1_zhen4_jiang1", - "长春": "maps/ji2_lin2_chang2_chun1", - "长沙": "maps/hu2_nan2_chang2_sha1", - "长治": "maps/shan1_xi1_chang2_zhi4", - "阜新": "maps/liao2_ning2_fu4_xin1", - "阜阳": "maps/an1_hui1_fu4_yang2", - "防城港": "maps/guang3_xi1_fang2_cheng2_gang3", - "阳江": "maps/guang3_dong1_yang2_jiang1", - "阳泉": "maps/shan1_xi1_yang2_quan2", - "阿克苏地区": "maps/xin1_jiang1_a1_ke4_su1_di4_qu1", - "阿勒泰地区": "maps/xin1_jiang1_a1_le4_tai4_di4_qu1", - "阿坝藏族羌族自治州": "maps/si4_chuan1_a1_ba4_cang2_zu2_qiang1_zu2_zi4_zhi4_zhou1", - "阿拉善盟": "maps/nei4_meng2_gu3_a1_la1_shan4_meng2", - "阿拉尔": "maps/xin1_jiang1_a1_la1_er3", - "阿里地区": "maps/xi1_cang2_a1_li3_di4_qu1", - "陇南": "maps/gan1_su4_long3_nan2", - "陵水黎族自治县": "maps/hai3_nan2_ling2_shui3_li2_zu2_zi4_zhi4_xian4", - "随州": "maps/hu2_bei3_sui2_zhou1", - "雅安": "maps/si4_chuan1_ya3_an1", - "青岛": "maps/shan1_dong1_qing1_dao3", - "鞍山": "maps/liao2_ning2_an1_shan1", - "韶关": "maps/guang3_dong1_shao2_guan1", - "香港": "maps/xianggang", - "马鞍山": "maps/an1_hui1_ma3_an1_shan1", - "驻马店": "maps/he2_nan2_zhu4_ma3_dian4", - "鸡西": "maps/hei1_long2_jiang1_ji1_xi1", - "鹤壁": "maps/he2_nan2_he4_bi4", - "鹤岗": "maps/hei1_long2_jiang1_he4_gang3", - "鹰潭": "maps/jiang1_xi1_ying1_tan2", - "黄冈": "maps/hu2_bei3_huang2_gang1", - "黄南藏族自治州": "maps/qing1_hai3_huang2_nan2_cang2_zu2_zi4_zhi4_zhou1", - "黄山": "maps/an1_hui1_huang2_shan1", - "黄石": "maps/hu2_bei3_huang2_shi2", - "黑河": "maps/hei1_long2_jiang1_hei1_he2", - "黔东南苗族侗族自治州": "maps/gui4_zhou1_qian2_dong1_nan2_miao2_zu2_tong1_zu2_zi4_zhi4_zhou1", - "黔南布依族苗族自治州": "maps/gui4_zhou1_qian2_nan2_bu4_yi1_zu2_miao2_zu2_zi4_zhi4_zhou1", - "黔西南布依族苗族自治州": "maps/gui4_zhou1_qian2_xi1_nan2_bu4_yi1_zu2_miao2_zu2_zi4_zhi4_zhou1", - "齐齐哈尔": "maps/hei1_long2_jiang1_qi2_qi2_ha1_er3", - "龙岩": "maps/fu2_jian4_long2_yan2" + "bulma": ["bulma.min", "css"], + "echarts": ["echarts.min", "js"], + "echarts-gl": ["echarts-gl.min", "js"], + "echarts-liquidfill": ["echarts-liquidfill.min", "js"], + "echarts-wordcloud": ["echarts-wordcloud.min", "js"], + "chalk": ["themes/chalk", "js"], + "essos": ["themes/essos", "js"], + "infographic": ["themes/infographic", "js"], + "macarons": ["themes/macarons", "js"], + "purple-passion": ["themes/purple-passion", "js"], + "roma": ["themes/roma", "js"], + "romantic": ["themes/romantic", "js"], + "shine": ["themes/shine", "js"], + "vintage": ["themes/vintage", "js"], + "walden": ["themes/walden", "js"], + "westeros": ["themes/westeros", "js"], + "wonderland": ["themes/wonderland", "js"], + "china": ["maps/china", "js"], + "world": ["maps/world", "js"], + "广东": ["maps/guangdong", "js"], + "安徽": ["maps/anhui", "js"], + "福建": ["maps/fujian", "js"], + "甘肃": ["maps/gansu", "js"], + "广西": ["maps/guangxi", "js"], + "贵州": ["maps/guizhou", "js"], + "海南": ["maps/hainan", "js"], + "河北": ["maps/hebei", "js"], + "黑龙江": ["maps/heilongjiang", "js"], + "河南": ["maps/henan", "js"], + "湖北": ["maps/hubei", "js"], + "湖南": ["maps/hunan", "js"], + "江苏": ["maps/jiangsu", "js"], + "江西": ["maps/jiangxi", "js"], + "吉林": ["maps/jilin", "js"], + "辽宁": ["maps/liaoning", "js"], + "内蒙古": ["maps/neimenggu", "js"], + "宁夏": ["maps/ningxia", "js"], + "青海": ["maps/qinghai", "js"], + "山东": ["maps/shandong", "js"], + "山西": ["maps/shanxi", "js"], + "陕西": ["maps/shanxi1", "js"], + "四川": ["maps/sichuan", "js"], + "台湾": ["maps/taiwan", "js"], + "新疆": ["maps/xinjiang", "js"], + "西藏": ["maps/xizang", "js"], + "云南": ["maps/yunnan", "js"], + "浙江": ["maps/zhejiang", "js"], + "七台河": ["maps/hei1_long2_jiang1_qi1_tai2_he2", "js"], + "万宁": ["maps/hai3_nan2_wan4_ning2", "js"], + "三亚": ["maps/hai3_nan2_san1_ya4", "js"], + "三明": ["maps/fu2_jian4_san1_ming2", "js"], + "三沙": ["maps/hai3_nan2_san1_sha1", "js"], + "三门峡": ["maps/he2_nan2_san1_men2_xia2", "js"], + "上海": ["maps/shanghai", "js"], + "上饶": ["maps/jiang1_xi1_shang4_rao2", "js"], + "东方": ["maps/hai3_nan2_dong1_fang1", "js"], + "东沙群岛": ["maps/guang3_dong1_dong1_sha1_qun2_dao3", "js"], + "东莞": ["maps/guang3_dong1_dong1_guan1", "js"], + "东营": ["maps/shan1_dong1_dong1_ying2", "js"], + "中卫": ["maps/ning2_xia4_zhong1_wei4", "js"], + "中山": ["maps/guang3_dong1_zhong1_shan1", "js"], + "临夏回族自治州": ["maps/gan1_su4_lin2_xia4_hui2_zu2_zi4_zhi4_zhou1", "js"], + "临汾": ["maps/shan1_xi1_lin2_fen2", "js"], + "临沂": ["maps/shan1_dong1_lin2_yi2", "js"], + "临沧": ["maps/yun2_nan2_lin2_cang1", "js"], + "临高县": ["maps/hai3_nan2_lin2_gao1_xian4", "js"], + "丹东": ["maps/liao2_ning2_dan1_dong1", "js"], + "丽水": ["maps/zhe4_jiang1_li4_shui3", "js"], + "丽江": ["maps/yun2_nan2_li4_jiang1", "js"], + "乌兰察布": ["maps/nei4_meng2_gu3_wu1_lan2_cha2_bu4", "js"], + "乌海": ["maps/nei4_meng2_gu3_wu1_hai3", "js"], + "乌鲁木齐": ["maps/xin1_jiang1_wu1_lu3_mu4_qi2", "js"], + "乐东黎族自治县": ["maps/hai3_nan2_le4_dong1_li2_zu2_zi4_zhi4_xian4", "js"], + "乐山": ["maps/si4_chuan1_le4_shan1", "js"], + "九江": ["maps/jiang1_xi1_jiu3_jiang1", "js"], + "云浮": ["maps/guang3_dong1_yun2_fu2", "js"], + "五家渠": ["maps/xin1_jiang1_wu3_jia1_qu2", "js"], + "五指山": ["maps/hai3_nan2_wu3_zhi3_shan1", "js"], + "亳州": ["maps/an1_hui1_bo2_zhou1", "js"], + "仙桃": ["maps/hu2_bei3_xian1_tao2", "js"], + "伊春": ["maps/hei1_long2_jiang1_yi1_chun1", "js"], + "伊犁哈萨克自治州": ["maps/xin1_jiang1_yi1_li2_ha1_sa4_ke4_zi4_zhi4_zhou1", "js"], + "佛山": ["maps/guang3_dong1_fo2_shan1", "js"], + "佳木斯": ["maps/hei1_long2_jiang1_jia1_mu4_si1", "js"], + "保亭黎族苗族自治县": ["maps/hai3_nan2_bao3_ting2_li2_zu2_miao2_zu2_zi4_zhi4_xian4", "js"], + "保定": ["maps/he2_bei3_bao3_ding4", "js"], + "保山": ["maps/yun2_nan2_bao3_shan1", "js"], + "信阳": ["maps/he2_nan2_xin4_yang2", "js"], + "儋州": ["maps/hai3_nan2_dan1_zhou1", "js"], + "克孜勒苏柯尔克孜自治州": ["maps/xin1_jiang1_ke4_zi1_le4_su1_ke1_er3_ke4_zi1_zi4_zhi4_zhou1", "js"], + "克拉玛依": ["maps/xin1_jiang1_ke4_la1_ma3_yi1", "js"], + "六安": ["maps/an1_hui1_liu4_an1", "js"], + "六盘水": ["maps/gui4_zhou1_liu4_pan2_shui3", "js"], + "兰州": ["maps/gan1_su4_lan2_zhou1", "js"], + "兴安盟": ["maps/nei4_meng2_gu3_xing1_an1_meng2", "js"], + "内江": ["maps/si4_chuan1_nei4_jiang1", "js"], + "凉山彝族自治州": ["maps/si4_chuan1_liang2_shan1_yi2_zu2_zi4_zhi4_zhou1", "js"], + "包头": ["maps/nei4_meng2_gu3_bao1_tou2", "js"], + "北京": ["maps/beijing", "js"], + "北屯": ["maps/xin1_jiang1_bei3_tun2", "js"], + "北海": ["maps/guang3_xi1_bei3_hai3", "js"], + "十堰": ["maps/hu2_bei3_shi2_yan4", "js"], + "南京": ["maps/jiang1_su1_nan2_jing1", "js"], + "南充": ["maps/si4_chuan1_nan2_chong1", "js"], + "南宁": ["maps/guang3_xi1_nan2_ning2", "js"], + "南平": ["maps/fu2_jian4_nan2_ping2", "js"], + "南昌": ["maps/jiang1_xi1_nan2_chang1", "js"], + "南通": ["maps/jiang1_su1_nan2_tong1", "js"], + "南阳": ["maps/he2_nan2_nan2_yang2", "js"], + "博尔塔拉蒙古自治州": ["maps/xin1_jiang1_bo2_er3_ta3_la1_meng2_gu3_zi4_zhi4_zhou1", "js"], + "厦门": ["maps/fu2_jian4_sha4_men2", "js"], + "双河": ["maps/xin1_jiang1_shuang1_he2", "js"], + "双鸭山": ["maps/hei1_long2_jiang1_shuang1_ya1_shan1", "js"], + "可克达拉": ["maps/xin1_jiang1_ke3_ke4_da2_la1", "js"], + "台州": ["maps/zhe4_jiang1_tai2_zhou1", "js"], + "合肥": ["maps/an1_hui1_he2_fei2", "js"], + "吉安": ["maps/jiang1_xi1_ji2_an1", "js"], + "吉林市": ["maps/ji2_lin2_ji2_lin2", "js"], + "吐鲁番": ["maps/xin1_jiang1_tu3_lu3_fan1", "js"], + "吕梁": ["maps/shan1_xi1_lv3_liang2", "js"], + "吴忠": ["maps/ning2_xia4_wu2_zhong1", "js"], + "周口": ["maps/he2_nan2_zhou1_kou3", "js"], + "呼伦贝尔": ["maps/nei4_meng2_gu3_hu1_lun2_bei4_er3", "js"], + "呼和浩特": ["maps/nei4_meng2_gu3_hu1_he2_hao4_te4", "js"], + "和田地区": ["maps/xin1_jiang1_he2_tian2_di4_qu1", "js"], + "咸宁": ["maps/hu2_bei3_xian2_ning2", "js"], + "咸阳": ["maps/shan3_xi1_xian2_yang2", "js"], + "哈密": ["maps/xin1_jiang1_ha1_mi4", "js"], + "哈尔滨": ["maps/hei1_long2_jiang1_ha1_er3_bin1", "js"], + "唐山": ["maps/he2_bei3_tang2_shan1", "js"], + "商丘": ["maps/he2_nan2_shang1_qiu1", "js"], + "商洛": ["maps/shan3_xi1_shang1_luo4", "js"], + "喀什地区": ["maps/xin1_jiang1_ka1_shi2_di4_qu1", "js"], + "嘉兴": ["maps/zhe4_jiang1_jia1_xing1", "js"], + "嘉峪关": ["maps/gan1_su4_jia1_yu4_guan1", "js"], + "四平": ["maps/ji2_lin2_si4_ping2", "js"], + "固原": ["maps/ning2_xia4_gu4_yuan2", "js"], + "图木舒克": ["maps/xin1_jiang1_tu2_mu4_shu1_ke4", "js"], + "塔城地区": ["maps/xin1_jiang1_ta3_cheng2_di4_qu1", "js"], + "大兴安岭地区": ["maps/hei1_long2_jiang1_da4_xing1_an1_ling2_di4_qu1", "js"], + "大同": ["maps/shan1_xi1_da4_tong2", "js"], + "大庆": ["maps/hei1_long2_jiang1_da4_qing4", "js"], + "大理白族自治州": ["maps/yun2_nan2_da4_li3_bai2_zu2_zi4_zhi4_zhou1", "js"], + "大连": ["maps/liao2_ning2_da4_lian2", "js"], + "天水": ["maps/gan1_su4_tian1_shui3", "js"], + "天津": ["maps/tianjin", "js"], + "天门": ["maps/hu2_bei3_tian1_men2", "js"], + "太原": ["maps/shan1_xi1_tai4_yuan2", "js"], + "威海": ["maps/shan1_dong1_wei1_hai3", "js"], + "娄底": ["maps/hu2_nan2_lou2_di3", "js"], + "孝感": ["maps/hu2_bei3_xiao4_gan3", "js"], + "宁德": ["maps/fu2_jian4_ning2_de2", "js"], + "宁波": ["maps/zhe4_jiang1_ning2_bo1", "js"], + "安庆": ["maps/an1_hui1_an1_qing4", "js"], + "安康": ["maps/shan3_xi1_an1_kang1", "js"], + "安阳": ["maps/he2_nan2_an1_yang2", "js"], + "安顺": ["maps/gui4_zhou1_an1_shun4", "js"], + "定安县": ["maps/hai3_nan2_ding4_an1_xian4", "js"], + "定西": ["maps/gan1_su4_ding4_xi1", "js"], + "宜宾": ["maps/si4_chuan1_yi2_bin1", "js"], + "宜昌": ["maps/hu2_bei3_yi2_chang1", "js"], + "宜春": ["maps/jiang1_xi1_yi2_chun1", "js"], + "宝鸡": ["maps/shan3_xi1_bao3_ji1", "js"], + "宣城": ["maps/an1_hui1_xuan1_cheng2", "js"], + "宿州": ["maps/an1_hui1_su4_zhou1", "js"], + "宿迁": ["maps/jiang1_su1_su4_qian1", "js"], + "屯昌县": ["maps/hai3_nan2_tun2_chang1_xian4", "js"], + "山南": ["maps/xi1_cang2_shan1_nan2", "js"], + "岳阳": ["maps/hu2_nan2_yue4_yang2", "js"], + "崇左": ["maps/guang3_xi1_chong2_zuo3", "js"], + "巴中": ["maps/si4_chuan1_ba1_zhong1", "js"], + "巴彦淖尔": ["maps/nei4_meng2_gu3_ba1_yan4_nao4_er3", "js"], + "巴音郭楞蒙古自治州": ["maps/xin1_jiang1_ba1_yin1_guo1_leng2_meng2_gu3_zi4_zhi4_zhou1", "js"], + "常州": ["maps/jiang1_su1_chang2_zhou1", "js"], + "常德": ["maps/hu2_nan2_chang2_de2", "js"], + "平凉": ["maps/gan1_su4_ping2_liang2", "js"], + "平顶山": ["maps/he2_nan2_ping2_ding3_shan1", "js"], + "广元": ["maps/si4_chuan1_guang3_yuan2", "js"], + "广安": ["maps/si4_chuan1_guang3_an1", "js"], + "广州": ["maps/guang3_dong1_guang3_zhou1", "js"], + "庆阳": ["maps/gan1_su4_qing4_yang2", "js"], + "廊坊": ["maps/he2_bei3_lang2_fang1", "js"], + "延安": ["maps/shan3_xi1_yan2_an1", "js"], + "延边朝鲜族自治州": ["maps/ji2_lin2_yan2_bian1_zhao1_xian1_zu2_zi4_zhi4_zhou1", "js"], + "开封": ["maps/he2_nan2_kai1_feng1", "js"], + "张家口": ["maps/he2_bei3_zhang1_jia1_kou3", "js"], + "张家界": ["maps/hu2_nan2_zhang1_jia1_jie4", "js"], + "张掖": ["maps/gan1_su4_zhang1_ye4", "js"], + "徐州": ["maps/jiang1_su1_xu2_zhou1", "js"], + "德宏傣族景颇族自治州": ["maps/yun2_nan2_de2_hong2_dai3_zu2_jing3_po3_zu2_zi4_zhi4_zhou1", "js"], + "德州": ["maps/shan1_dong1_de2_zhou1", "js"], + "德阳": ["maps/si4_chuan1_de2_yang2", "js"], + "忻州": ["maps/shan1_xi1_xin1_zhou1", "js"], + "怀化": ["maps/hu2_nan2_huai2_hua4", "js"], + "怒江傈僳族自治州": ["maps/yun2_nan2_nu4_jiang1_li4_su4_zu2_zi4_zhi4_zhou1", "js"], + "恩施土家族苗族自治州": ["maps/hu2_bei3_en1_shi1_tu3_jia1_zu2_miao2_zu2_zi4_zhi4_zhou1", "js"], + "惠州": ["maps/guang3_dong1_hui4_zhou1", "js"], + "成都": ["maps/si4_chuan1_cheng2_du1", "js"], + "扬州": ["maps/jiang1_su1_yang2_zhou1", "js"], + "承德": ["maps/he2_bei3_cheng2_de2", "js"], + "抚州": ["maps/jiang1_xi1_fu3_zhou1", "js"], + "抚顺": ["maps/liao2_ning2_fu3_shun4", "js"], + "拉萨": ["maps/xi1_cang2_la1_sa4", "js"], + "揭阳": ["maps/guang3_dong1_jie1_yang2", "js"], + "攀枝花": ["maps/si4_chuan1_pan1_zhi1_hua1", "js"], + "文山壮族苗族自治州": ["maps/yun2_nan2_wen2_shan1_zhuang4_zu2_miao2_zu2_zi4_zhi4_zhou1", "js"], + "文昌": ["maps/hai3_nan2_wen2_chang1", "js"], + "新乡": ["maps/he2_nan2_xin1_xiang1", "js"], + "新余": ["maps/jiang1_xi1_xin1_yu2", "js"], + "无锡": ["maps/jiang1_su1_wu2_xi2", "js"], + "日喀则": ["maps/xi1_cang2_ri4_ka1_ze2", "js"], + "日照": ["maps/shan1_dong1_ri4_zhao4", "js"], + "昆明": ["maps/yun2_nan2_kun1_ming2", "js"], + "昆玉": ["maps/xin1_jiang1_kun1_yu4", "js"], + "昌吉回族自治州": ["maps/xin1_jiang1_chang1_ji2_hui2_zu2_zi4_zhi4_zhou1", "js"], + "昌江黎族自治县": ["maps/hai3_nan2_chang1_jiang1_li2_zu2_zi4_zhi4_xian4", "js"], + "昌都": ["maps/xi1_cang2_chang1_du1", "js"], + "昭通": ["maps/yun2_nan2_zhao1_tong1", "js"], + "晋中": ["maps/shan1_xi1_jin4_zhong1", "js"], + "晋城": ["maps/shan1_xi1_jin4_cheng2", "js"], + "普洱": ["maps/yun2_nan2_pu3_er3", "js"], + "景德镇": ["maps/jiang1_xi1_jing3_de2_zhen4", "js"], + "曲靖": ["maps/yun2_nan2_qu1_jing4", "js"], + "朔州": ["maps/shan1_xi1_shuo4_zhou1", "js"], + "朝阳": ["maps/liao2_ning2_zhao1_yang2", "js"], + "本溪": ["maps/liao2_ning2_ben3_xi1", "js"], + "来宾": ["maps/guang3_xi1_lai2_bin1", "js"], + "杭州": ["maps/zhe4_jiang1_hang2_zhou1", "js"], + "松原": ["maps/ji2_lin2_song1_yuan2", "js"], + "林芝": ["maps/xi1_cang2_lin2_zhi1", "js"], + "果洛藏族自治州": ["maps/qing1_hai3_guo3_luo4_cang2_zu2_zi4_zhi4_zhou1", "js"], + "枣庄": ["maps/shan1_dong1_zao3_zhuang1", "js"], + "柳州": ["maps/guang3_xi1_liu3_zhou1", "js"], + "株洲": ["maps/hu2_nan2_zhu1_zhou1", "js"], + "桂林": ["maps/guang3_xi1_gui4_lin2", "js"], + "梅州": ["maps/guang3_dong1_mei2_zhou1", "js"], + "梧州": ["maps/guang3_xi1_wu2_zhou1", "js"], + "楚雄彝族自治州": ["maps/yun2_nan2_chu3_xiong2_yi2_zu2_zi4_zhi4_zhou1", "js"], + "榆林": ["maps/shan3_xi1_yu2_lin2", "js"], + "武威": ["maps/gan1_su4_wu3_wei1", "js"], + "武汉": ["maps/hu2_bei3_wu3_han4", "js"], + "毕节": ["maps/gui4_zhou1_bi4_jie2", "js"], + "永州": ["maps/hu2_nan2_yong3_zhou1", "js"], + "汉中": ["maps/shan3_xi1_han4_zhong1", "js"], + "汕头": ["maps/guang3_dong1_shan4_tou2", "js"], + "汕尾": ["maps/guang3_dong1_shan4_wei3", "js"], + "江门": ["maps/guang3_dong1_jiang1_men2", "js"], + "池州": ["maps/an1_hui1_chi2_zhou1", "js"], + "沈阳": ["maps/liao2_ning2_shen3_yang2", "js"], + "沧州": ["maps/he2_nan2_cang1_zhou1", "js"], + "河池": ["maps/guang3_xi1_he2_chi2", "js"], + "河源": ["maps/guang3_dong1_he2_yuan2", "js"], + "泉州": ["maps/fu2_jian4_quan2_zhou1", "js"], + "泰安": ["maps/shan1_dong1_tai4_an1", "js"], + "泰州": ["maps/jiang1_su1_tai4_zhou1", "js"], + "泸州": ["maps/si4_chuan1_lu2_zhou1", "js"], + "洛阳": ["maps/he2_nan2_luo4_yang2", "js"], + "济南": ["maps/shan1_dong1_ji4_nan2", "js"], + "济宁": ["maps/shan1_dong1_ji4_ning2", "js"], + "济源": ["maps/he2_nan2_ji4_yuan2", "js"], + "海东": ["maps/qing1_hai3_hai3_dong1", "js"], + "海北藏族自治州": ["maps/qing1_hai3_hai3_bei3_cang2_zu2_zi4_zhi4_zhou1", "js"], + "海南藏族自治州": ["maps/qing1_hai3_hai3_nan2_cang2_zu2_zi4_zhi4_zhou1", "js"], + "海口": ["maps/hai3_nan2_hai3_kou3", "js"], + "海西蒙古族藏族自治州": ["maps/qing1_hai3_hai3_xi1_meng2_gu3_zu2_cang2_zu2_zi4_zhi4_zhou1", "js"], + "淄博": ["maps/shan1_dong1_zi1_bo2", "js"], + "淮北": ["maps/an1_hui1_huai2_bei3", "js"], + "淮南": ["maps/an1_hui1_huai2_nan2", "js"], + "淮安": ["maps/jiang1_su1_huai2_an1", "js"], + "深圳": ["maps/guang3_dong1_shen1_zhen4", "js"], + "清远": ["maps/guang3_dong1_qing1_yuan3", "js"], + "温州": ["maps/zhe4_jiang1_wen1_zhou1", "js"], + "渭南": ["maps/shan3_xi1_wei4_nan2", "js"], + "湖州": ["maps/zhe4_jiang1_hu2_zhou1", "js"], + "湘潭": ["maps/hu2_nan2_xiang1_tan2", "js"], + "湘西土家族苗族自治州": ["maps/hu2_nan2_xiang1_xi1_tu3_jia1_zu2_miao2_zu2_zi4_zhi4_zhou1", "js"], + "湛江": ["maps/guang3_dong1_zhan4_jiang1", "js"], + "滁州": ["maps/an1_hui1_chu2_zhou1", "js"], + "滨州": ["maps/shan1_dong1_bin1_zhou1", "js"], + "漯河": ["maps/he2_nan2_ta4_he2", "js"], + "漳州": ["maps/fu2_jian4_zhang1_zhou1", "js"], + "潍坊": ["maps/shan1_dong1_wei2_fang1", "js"], + "潜江": ["maps/hu2_bei3_qian2_jiang1", "js"], + "潮州": ["maps/guang3_dong1_chao2_zhou1", "js"], + "澄迈县": ["maps/hai3_nan2_cheng2_mai4_xian4", "js"], + "澳门": ["maps/aomen", "js"], + "濮阳": ["maps/he2_nan2_pu2_yang2", "js"], + "烟台": ["maps/shan1_dong1_yan1_tai2", "js"], + "焦作": ["maps/he2_nan2_jiao1_zuo4", "js"], + "牡丹江": ["maps/hei1_long2_jiang1_mu3_dan1_jiang1", "js"], + "玉林": ["maps/guang3_xi1_yu4_lin2", "js"], + "玉树藏族自治州": ["maps/qing1_hai3_yu4_shu4_cang2_zu2_zi4_zhi4_zhou1", "js"], + "玉溪": ["maps/yun2_nan2_yu4_xi1", "js"], + "珠海": ["maps/guang3_dong1_zhu1_hai3", "js"], + "琼中黎族苗族自治县": ["maps/hai3_nan2_qiong2_zhong1_li2_zu2_miao2_zu2_zi4_zhi4_xian4", "js"], + "琼海": ["maps/hai3_nan2_qiong2_hai3", "js"], + "甘南藏族自治州": ["maps/gan1_su4_gan1_nan2_cang2_zu2_zi4_zhi4_zhou1", "js"], + "甘孜藏族自治州": ["maps/si4_chuan1_gan1_zi1_cang2_zu2_zi4_zhi4_zhou1", "js"], + "白城": ["maps/ji2_lin2_bai2_cheng2", "js"], + "白山": ["maps/ji2_lin2_bai2_shan1", "js"], + "白沙黎族自治县": ["maps/hai3_nan2_bai2_sha1_li2_zu2_zi4_zhi4_xian4", "js"], + "白银": ["maps/gan1_su4_bai2_yin2", "js"], + "百色": ["maps/guang3_xi1_bai3_se4", "js"], + "益阳": ["maps/hu2_nan2_yi4_yang2", "js"], + "盐城": ["maps/jiang1_su1_yan2_cheng2", "js"], + "盘锦": ["maps/liao2_ning2_pan2_jin3", "js"], + "眉山": ["maps/si4_chuan1_mei2_shan1", "js"], + "石嘴山": ["maps/ning2_xia4_shi2_zui3_shan1", "js"], + "石家庄": ["maps/he2_bei3_shi2_jia1_zhuang1", "js"], + "石河子": ["maps/xin1_jiang1_shi2_he2_zi3", "js"], + "神农架林区": ["maps/hu2_bei3_shen2_nong2_jia4_lin2_qu1", "js"], + "福州": ["maps/fu2_jian4_fu2_zhou1", "js"], + "秦皇岛": ["maps/he2_bei3_qin2_huang2_dao3", "js"], + "红河哈尼族彝族自治州": ["maps/yun2_nan2_hong2_he2_ha1_ni2_zu2_yi2_zu2_zi4_zhi4_zhou1", "js"], + "绍兴": ["maps/zhe4_jiang1_shao4_xing1", "js"], + "绥化": ["maps/hei1_long2_jiang1_sui1_hua4", "js"], + "绵阳": ["maps/si4_chuan1_mian2_yang2", "js"], + "聊城": ["maps/shan1_dong1_liao2_cheng2", "js"], + "肇庆": ["maps/guang3_dong1_zhao4_qing4", "js"], + "自贡": ["maps/si4_chuan1_zi4_gong4", "js"], + "舟山": ["maps/zhe4_jiang1_zhou1_shan1", "js"], + "芜湖": ["maps/an1_hui1_wu2_hu2", "js"], + "苏州": ["maps/jiang1_su1_su1_zhou1", "js"], + "茂名": ["maps/guang3_dong1_mao4_ming2", "js"], + "荆州": ["maps/hu2_bei3_jing1_zhou1", "js"], + "荆门": ["maps/hu2_bei3_jing1_men2", "js"], + "莆田": ["maps/fu2_jian4_fu3_tian2", "js"], + "莱芜": ["maps/shan1_dong1_lai2_wu2", "js"], + "菏泽": ["maps/shan1_dong1_he2_ze2", "js"], + "萍乡": ["maps/jiang1_xi1_ping2_xiang1", "js"], + "营口": ["maps/liao2_ning2_ying2_kou3", "js"], + "葫芦岛": ["maps/liao2_ning2_hu2_lu2_dao3", "js"], + "蚌埠": ["maps/an1_hui1_bang4_bu4", "js"], + "衡水": ["maps/he2_bei3_heng2_shui3", "js"], + "衡阳": ["maps/hu2_nan2_heng2_yang2", "js"], + "衢州": ["maps/zhe4_jiang1_qu2_zhou1", "js"], + "襄阳": ["maps/hu2_bei3_xiang1_yang2", "js"], + "西双版纳傣族自治州": ["maps/yun2_nan2_xi1_shuang1_ban3_na4_dai3_zu2_zi4_zhi4_zhou1", "js"], + "西宁": ["maps/qing1_hai3_xi1_ning2", "js"], + "西安": ["maps/shan3_xi1_xi1_an1", "js"], + "许昌": ["maps/he2_nan2_xu3_chang1", "js"], + "贵港": ["maps/guang3_xi1_gui4_gang3", "js"], + "贵阳": ["maps/gui4_zhou1_gui4_yang2", "js"], + "贺州": ["maps/guang3_xi1_he4_zhou1", "js"], + "资阳": ["maps/si4_chuan1_zi1_yang2", "js"], + "赣州": ["maps/jiang1_xi1_gan4_zhou1", "js"], + "赤峰": ["maps/nei4_meng2_gu3_chi4_feng1", "js"], + "辽源": ["maps/ji2_lin2_liao2_yuan2", "js"], + "辽阳": ["maps/liao2_ning2_liao2_yang2", "js"], + "达州": ["maps/si4_chuan1_da2_zhou1", "js"], + "运城": ["maps/shan1_xi1_yun4_cheng2", "js"], + "连云港": ["maps/jiang1_su1_lian2_yun2_gang3", "js"], + "迪庆藏族自治州": ["maps/yun2_nan2_di2_qing4_cang2_zu2_zi4_zhi4_zhou1", "js"], + "通化": ["maps/ji2_lin2_tong1_hua4", "js"], + "通辽": ["maps/nei4_meng2_gu3_tong1_liao2", "js"], + "遂宁": ["maps/si4_chuan1_sui4_ning2", "js"], + "遵义": ["maps/gui4_zhou1_zun1_yi4", "js"], + "邢台": ["maps/he2_bei3_xing2_tai2", "js"], + "那曲地区": ["maps/xi1_cang2_na4_qu1_di4_qu1", "js"], + "邯郸": ["maps/he2_bei3_han2_dan1", "js"], + "邵阳": ["maps/hu2_nan2_shao4_yang2", "js"], + "郑州": ["maps/he2_nan2_zheng4_zhou1", "js"], + "郴州": ["maps/hu2_nan2_chen1_zhou1", "js"], + "鄂尔多斯": ["maps/nei4_meng2_gu3_e4_er3_duo1_si1", "js"], + "鄂州": ["maps/hu2_bei3_e4_zhou1", "js"], + "酒泉": ["maps/gan1_su4_jiu3_quan2", "js"], + "重庆": ["maps/chongqing", "js"], + "金华": ["maps/zhe4_jiang1_jin1_hua2", "js"], + "金昌": ["maps/gan1_su4_jin1_chang1", "js"], + "钦州": ["maps/guang3_xi1_qin1_zhou1", "js"], + "铁岭": ["maps/liao2_ning2_tie3_ling2", "js"], + "铁门关": ["maps/xin1_jiang1_tie3_men2_guan1", "js"], + "铜仁": ["maps/gui4_zhou1_tong2_ren2", "js"], + "铜川": ["maps/shan3_xi1_tong2_chuan1", "js"], + "铜陵": ["maps/an1_hui1_tong2_ling2", "js"], + "银川": ["maps/ning2_xia4_yin2_chuan1", "js"], + "锡林郭勒盟": ["maps/nei4_meng2_gu3_xi2_lin2_guo1_le4_meng2", "js"], + "锦州": ["maps/liao2_ning2_jin3_zhou1", "js"], + "镇江": ["maps/jiang1_su1_zhen4_jiang1", "js"], + "长春": ["maps/ji2_lin2_chang2_chun1", "js"], + "长沙": ["maps/hu2_nan2_chang2_sha1", "js"], + "长治": ["maps/shan1_xi1_chang2_zhi4", "js"], + "阜新": ["maps/liao2_ning2_fu4_xin1", "js"], + "阜阳": ["maps/an1_hui1_fu4_yang2", "js"], + "防城港": ["maps/guang3_xi1_fang2_cheng2_gang3", "js"], + "阳江": ["maps/guang3_dong1_yang2_jiang1", "js"], + "阳泉": ["maps/shan1_xi1_yang2_quan2", "js"], + "阿克苏地区": ["maps/xin1_jiang1_a1_ke4_su1_di4_qu1", "js"], + "阿勒泰地区": ["maps/xin1_jiang1_a1_le4_tai4_di4_qu1", "js"], + "阿坝藏族羌族自治州": ["maps/si4_chuan1_a1_ba4_cang2_zu2_qiang1_zu2_zi4_zhi4_zhou1", "js"], + "阿拉善盟": ["maps/nei4_meng2_gu3_a1_la1_shan4_meng2", "js"], + "阿拉尔": ["maps/xin1_jiang1_a1_la1_er3", "js"], + "阿里地区": ["maps/xi1_cang2_a1_li3_di4_qu1", "js"], + "陇南": ["maps/gan1_su4_long3_nan2", "js"], + "陵水黎族自治县": ["maps/hai3_nan2_ling2_shui3_li2_zu2_zi4_zhi4_xian4", "js"], + "随州": ["maps/hu2_bei3_sui2_zhou1", "js"], + "雅安": ["maps/si4_chuan1_ya3_an1", "js"], + "青岛": ["maps/shan1_dong1_qing1_dao3", "js"], + "鞍山": ["maps/liao2_ning2_an1_shan1", "js"], + "韶关": ["maps/guang3_dong1_shao2_guan1", "js"], + "香港": ["maps/xianggang", "js"], + "马鞍山": ["maps/an1_hui1_ma3_an1_shan1", "js"], + "驻马店": ["maps/he2_nan2_zhu4_ma3_dian4", "js"], + "鸡西": ["maps/hei1_long2_jiang1_ji1_xi1", "js"], + "鹤壁": ["maps/he2_nan2_he4_bi4", "js"], + "鹤岗": ["maps/hei1_long2_jiang1_he4_gang3", "js"], + "鹰潭": ["maps/jiang1_xi1_ying1_tan2", "js"], + "黄冈": ["maps/hu2_bei3_huang2_gang1", "js"], + "黄南藏族自治州": ["maps/qing1_hai3_huang2_nan2_cang2_zu2_zi4_zhi4_zhou1", "js"], + "黄山": ["maps/an1_hui1_huang2_shan1", "js"], + "黄石": ["maps/hu2_bei3_huang2_shi2", "js"], + "黑河": ["maps/hei1_long2_jiang1_hei1_he2", "js"], + "黔东南苗族侗族自治州": ["maps/gui4_zhou1_qian2_dong1_nan2_miao2_zu2_tong1_zu2_zi4_zhi4_zhou1", "js"], + "黔南布依族苗族自治州": ["maps/gui4_zhou1_qian2_nan2_bu4_yi1_zu2_miao2_zu2_zi4_zhi4_zhou1", "js"], + "黔西南布依族苗族自治州": ["maps/gui4_zhou1_qian2_xi1_nan2_bu4_yi1_zu2_miao2_zu2_zi4_zhi4_zhou1", "js"], + "齐齐哈尔": ["maps/hei1_long2_jiang1_qi2_qi2_ha1_er3", "js"], + "龙岩": ["maps/fu2_jian4_long2_yan2", "js"] } diff --git a/pyecharts/render/engine.py b/pyecharts/render/engine.py index b066df86..1b675f93 100644 --- a/pyecharts/render/engine.py +++ b/pyecharts/render/engine.py @@ -21,7 +21,8 @@ class RenderEngine: links = [] for dep in chart.js_dependencies.items: # TODO: if? - links.append("{}{}.js".format(chart.js_host, FILENAMES[dep])) + f, ext = FILENAMES[dep] + links.append("{}{}.{}".format(chart.js_host, f, ext)) chart.dependencies = links return chart diff --git a/pyecharts/render/templates/table.html b/pyecharts/render/templates/table.html new file mode 100644 index 00000000..89e551dd --- /dev/null +++ b/pyecharts/render/templates/table.html @@ -0,0 +1,3 @@ +{% for c in chart %} + {{ c }} +{% endfor %}