Python之基础详解(⼗):⽤python的pyecharts模块绘制世界地图(疫情)pyecharts可视化疫情确诊⼈数世界地图
⾸先,我们需要进⾏环境的配置:python版本需要3.6.x ,pyecharts版本1.x
使⽤pip⾃动安装最新版本(这⾥的版本是1.7.1)
记得下载配套资源
pip install pyecharts
pyecharts1.x之后,pyecharts 将不再⾃带地图 js ⽂件。⽤户需要⾃⾏安装对应的地图⽂件包。
地图⽂件被分成了三个 Python 包,分别为:
全球国家地图: echarts-countries-pypkg
中国省级地图: echarts-china-provinces-pypkg
中国市级地图: echarts-china-cities-pypkg
可以直接⽤pip安装:
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pyecharts⾥⾯包含很多的图表类型,类型如下:
---------Bar(柱状图/条形图)
---------Bar3D(3D 柱状图)
---------Boxplot(箱形图)
---------EffectScatter(带有涟漪特效动画的散点图)
---------Funnel(漏⽃图)
---------Gauge(仪表盘)
---------Geo(地理坐标系)
-
--------GeoLines(地理坐标系线图)
---------Graph(关系图)
---------HeatMap(热⼒图)
---------Kline/Candlestick(K线图)
---------Line(折线/⾯积图)
---------Line3D(3D 折线图)
---------Liquid(⽔球图)
---------Map(地图)
---------Parallel(平⾏坐标系)
---------Pie(饼图)
---------Polar(极坐标系)
-
--------Radar(雷达图)
---------Sankey(桑基图)
---------Scatter(散点图)
---------Scatter3D(3D 散点图)
---------Surface3D(3D 曲⾯图)
---------ThemeRiver(主题河流图)
---------Tree(树图)
---------TreeMap(矩形树图)
---------WordCloud(词云图)
()接下来开始正式的环节(Map函数)
敲⿊板
将本⽂章配套资源下载,⾥⾯有源代码,存储的json数据,中英⽂映射⽂件QAQ~
第⼀步:导⼊需要的各个模块
from pyecharts.charts import Map
from pyecharts import options as opts
import json
from namemap import nameMap
第⼆部:读取数据,创建列表,将数据存储在列表⾥⾯(该json⽂件,配套资源⾥⾯有)
filename ='Real-time global epidemic data2020_4_15.json'
with open(filename)as f:#打开⽂件
epidemic_data = json.load(f)#读取⽂件,以json格式存储到epidemic_data⾥⾯
provinceName =[]
confirmedCount =[]
countrys_names =[]
for epidemic_dict in epidemic_data:
provinceName.append(epidemic_dict['provinceName'])
confirmedCount.append(epidemic_dict['confirmedCount'])
第三步:进⾏中英⽂国名互换(在⽹上抓取的数据,国家名⼀般为中⽂,需要转化为英⽂,⽤到配套资源⾥⾯的namemap.py⽂件)
nameMap_new={}
for key,val in nameMap.items():#将nameMap列表⾥⾯键值互换
nameMap_new[val]=key
for i in range(len(provinceName)):#遍历列表,将对应英⽂名存储到countrys_names列表⾥
countrys_name = nameMap_new[provinceName[i]]
countrys_names.append(countrys_name)
第四步:设置地图的基本数据(宽,⾼,背景颜⾊,页⾯主题,没⽤到的国家的背景颜⾊)
map= Map( init_opts=opts.InitOpts(width="1900px", height="900px", bg_color="#ADD8E6",
page_title="4.15全球疫情确诊⼈数",theme="white"))
第五步:添加数据(设置图标“确诊⼈数”,导⼊数据对,设置每个国家的⾸都坐标点不可见,定义地图类型为”world“,设置国家名字不可见)
map.add("确诊⼈数",[list(z)for z in zip(countrys_names, confirmedCount)],is_map_symbol_show=False,
maptype="world",label_opts=opts.LabelOpts(is_show=False),python怎么读取json文件
itemstyle_opts=opts.ItemStyleOpts(color="rgb(49,60,72)"))
map.set_global_opts(title_opts = opts.TitleOpts(title='4.15 全球疫情确诊⼈数'),
legend_opts=opts.LegendOpts(is_show=False),
visualmap_opts = opts.VisualMapOpts(max_=100000))
最后:效果图
希望对有问题的⼈能有点帮助,如果有什么不懂的,或者有其他功能没理解的可以关注私信我哦~

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。