首页 > 编程知识 正文

pyecharts美国地,pyecharts根据经纬度画地

时间:2023-05-04 06:01:23 阅读:261973 作者:2843

源码很简单: import pandas as pdfrom pyecharts import options as optsfrom pyecharts.charts import Mapdf = pd.read_excel('各省GDP.xlsx', sheet_name='Sheet1')#读取数据vals = df.values#获得数据proviences = []#省份data = []#数值namemap = {}#名称映射字典for i in vals[0:]: proviences.append(i[0].replace(' ', ''))#去除字符串中的空格,省份名应当是映射后的英文拼音 namemap[i[1].replace(' ', '')] = i[0].replace(' ', '')#映射关系为第一列的中文对应第零列的英文拼音 data.append(i[2])#数值在第二列c = ( Map() .add("", [list(z) for z in zip(proviences, data)], "china",name_map=namemap) .set_global_opts( title_opts=opts.TitleOpts(title=""), visualmap_opts=opts.VisualMapOpts(max_=1200, ), ) .render("GDP.html")) 我的excel如下图所示:

正常来讲,Map传入的省份名与值的对应关系应该是:proviences=[山东,江苏,内蒙古],data=[1213.807, 1004.157, 937.561],这样的结果就是中文地图,但是为了需要有时候我们要得到英文地图,这个时候就需要传入一个名称映射关系,将中文名映射到外文名。
正如我上面的代码所示的那样,有一个namemap的字典变量:{‘山东’: ‘Shandong’, ‘江苏’: ‘Jiangsu’, ‘内蒙古’: ‘InnerMongolia’}。这个时候重点来了,使用了名称映射之后哦,Map传入的省份名与值的对应关系应该就变成了你映射好之后的省份名:proviences=[‘Shandong’,‘Jiangsu’,‘InnerMongolia’]。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。