echarts的地图包经纬度数值被压缩,暂时没找到还原的工具,所以采用finebi的地图包。
2、编辑地图文件:
打开json格式的地图文件
image
image
image
image
4、对编辑导出的地图文件再次进行修改
image
5、自定义地图编辑完成,保存。
6、利用pyechats作图
import numpy as np
import jsonfrom pyecharts
import options as opts
from pyecharts.charts import Map
from pyecharts.commons.utils
import JsCode
#生成随机数据
ls1 = ['东北', '西南', '华南', '华北', '西北', '华东', '港澳台']
ls2 = np.random.rand(7)*100
#地图显示名称映射
map_name = {'东北地区': '东北', '西南地区': '西南', '华南地区': '华南', '华北地区': '华北', '西北地区': '西北', '华中地区': '华中', '华东地区': '华东', '港澳台地区': '港澳台'}
#显示数字格式
fmt_js = '''
function(params){
if (isNaN(params.value)){
lb=params.name;
} else {
lb = params.name +' : '+ params.value.toFixed(1);
}
return lb;
}
'''
#加载地图文件
with open(r".\maps\china_area.json", "r", encoding="utf-8") as f:
j = json.load(f)
map0 = (
Map()
.add_js_funcs("echarts.registerMap('china_area', {});".format(j))#注册地图
.add('销售金额',
[list(z) for z in zip(ls1,ls2)],
'china_area',
is_roam=True,
name_map=map_name,
label_opts=opts.LabelOpts(
formatter=JsCode(fmt_js),
position='bottom'
)
)
.set_global_opts(
title_opts=opts.TitleOpts(title="各区域销售金额"),
visualmap_opts=opts.VisualMapOpts(max_=100),
tooltip_opts=opts.TooltipOpts(
formatter=JsCode(fmt_js)
)
)
)
map0.render_notebook()
image