from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
import os
import matplotlib.pyplot as plt
# 基础数据
value = [10430.03,9579.31, 9402.36,8041.82,7865.99,7185.42,6568.37,5950.1,5442,5723.77,4602.66,4596.6,4456.74,4374.63,3831.22,3732.74,3571.21,3552,2884,3476.65,2746.22,2557.53,2470.63,2301.391,2316.2,2181.33,1961.2,1293.82,867.15,709.76,562.67,630.14,300.21,55.23]
attr = ["广东", "山东", "河南", "四川", "江苏","河北","湖南","安徽","浙江","湖北","广西","云南","江西","辽宁","黑龙江","陕西","山西","福建","重庆","贵州","吉林","甘肃","内蒙古","上海","台湾","新疆","北京","天津","海南","香港","青海","宁夏","西藏","澳门"]
data = []
for index in range(len(attr)):
city_ionfo=[attr[index],value[index]]
data.append(city_ionfo)
c = (
Map()
.add("中国地图",data, "china")
.set_series_opts(label_opts=opts.LabelOpts(is_show=True))
.set_global_opts(
title_opts=opts.TitleOpts(title="中国各省市人口数"),
visualmap_opts=opts.VisualMapOpts(max_=12000),
)
.render()
)
plt.tight_layout()#解决文字覆盖问题
# 打开html
os.system("render.html")