利用pyecharts做数据可视化,pyecharts地图可视化
今天我们使用肾盂造影图制作一个地球可视化项目,一起来看看吧
我们走吧!
数据处理这里我们使用全球新冠感染人数的数据集作为我们的测试数据,先来看看数据的整体情况
进口熊猫作为螺纹中径
df=PD。read _ CSV( owid-covid-data。CSV’)
df_0608=df[df[日期]= 2022-06-08 ]
df _ new=df _ 0608[PD。ISNA(df _ 0608[洲])==假]
df_newOutput:
我们选取0608这一天的数据,可以看到总计_个案例字段就是国家当前的累计总确诊人数
下面就提取国家和确诊人数
covid_data=df_new[[location , total _ cases ]]]。价值观。要列出()输出:
肾盂造影图绘图通过肾盂造影图绘制地球图,在官网上有很详细的例子,我们直接套用即可
首先导入相关库
将pyecharts.options作为选项导入
从pyecharts .图表导入地图地球仪定义地球图函数并绘制
data=[x for _,x in covid_data]
低,高=最小(数据),最大(数据)
c=(
地图全球()。add_schema()。添加(
maptype=world ,
series_name=世界冠状病毒肺炎数据,
数据对=covid数据,
is_map_symbol_show=False,
label_opts=opts .LabelOpts(is_show=False),
)。集合_全局_opts(
visualmap_opts=opts .VisualMapOpts(
min _=低电平,
max _=高,
range_text=[max , min],
is _ calculatable=True,
range_color=[亮天蓝色,黄色,橙色],
)
)
)
c.render_notebook()这样我们得到如下全球各国新冠确诊人数分布图
部署为网服务当前我们所有的代码都是运行在朱皮特当中的,如果要分享给其他人,并不是十分的方便,我们可以将整体代码部署成一个网服务,这样其他人就可以方便的通过浏览器来查看该地球图了
我们先创建项目目录,命名为烧瓶_地图,再将本地安装的肾盂造影图目录下的模板文件夹拷贝到该目录下,同时再创建数据文件夹和main.py文件,肾盂造影图模板位置如下:
pyecharts.render.templates
我们将数据集owid-covid-data.csv放到数据文件夹下,再编写main.py文件
#编码=utf-8
======================
@作者:罗博
@时间:2022/7/2:14:32
@电子邮件:
@File: main.py
======================
从烧瓶导入烧瓶,渲染模板
从jinja2导入标记、环境、文件系统加载器
来自pyecharts.globals导入电流配置
# 关于当前配置,可参考[基本使用-全局变量]
当前配置GLOBAL _ ENV=Environment(loader=文件系统加载器( ./templates ))
从肾盂造影图将选项作为选项导入
从pyecharts .图表导入地图地球仪
进口熊猫作为螺纹中径
df=PD。read _ CSV( data/owid-covid-data。CSV’)
df_0608=df[df[日期]= 2022-06-08 ]
df _ new=df _ 0608[PD。ISNA(df _ 0608[洲])==假]
covid_data=df_new[[location , total _ cases ]]]。价值观。要列出()
app=Flask(__name__,static_folder=templates )
def Map_base():
data=[x for _,x in covid_data]
低,高=最小(数据),最大(数据)
c=(
地图全球()。add_schema()。添加(
maptype=world ,
series_name=世界冠状病毒肺炎数据,
数据对=covid数据,
is_map_symbol_show=False,
label_opts=opts .LabelOpts(is_show=False),
)。集合_全局_opts(
visualmap_opts=opts .VisualMapOpts(
min _=低电平,
max _=高,
range_text=[max , min],
is _ calculatable=True,
range_color=[亮天蓝色,黄色,橙色],
)
)
)
返回c
@app.route(/)
定义索引():
c=Map_base()
c.render(templates/Map.html )
返回render_template(Map.html )
if __name__==__main__ :
app.run()这样,当我们启动瓶服务器之后,只需要访问根目录(/),就会在模板目录下生成Map.html文件,也会在浏览器正常展示地球图了
至于如何将本地网应用部署到公网上,我们在后面的文章中再介绍吧!
好了,这就是今天分享的全部内容,喜欢就点个赞吧~
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。