今天我们使用 Pyecharts 制作一个地球可视化项目,一起来看看吧

Let’s go!

数据处理

这里我们使用全球新冠感染人数的数据集作为我们的测试数据,先来看看数据的整体情况

import pandas as pddf = pd.read_csv("owid-covid-data.csv")
df_0608 = df[df['date'] == '2022-06-08']
df_new = df_0608[pd.isna(df_0608['continent']) == False]
df_new

Output:

我们选取0608这一天的数据,可以看到 total_cases 字段就是国家当前的累计总确诊人数

下面就提取国家和确诊人数

covid_data = df_new[['location', 'total_cases']].values.tolist()

Output:

Pyecharts 绘图

通过 Pyecharts 绘制地球图,在官网上有很详细的例子,我们直接套用即可

首先导入相关库

import pyecharts.options as opts
from pyecharts.charts import MapGlobe

定义地球图函数并绘制

data = [x for _, x in covid_data]
low, high = min(data), max(data)c = (MapGlobe().add_schema().add(maptype="world",series_name="World Covid Data",data_pair=covid_data,is_map_symbol_show=False,label_opts=opts.LabelOpts(is_show=False),).set_global_opts(visualmap_opts=opts.VisualMapOpts(min_=low,max_=high,range_text=["max", "min"],is_calculable=True,range_color=["lightskyblue", "yellow", "orangered"],))
)
c.render_notebook()

这样我们得到如下全球各国新冠确诊人数分布图

部署为 Web 服务

当前我们所有的代码都是运行在 Jupyter 当中的,如果要分享给其他人,并不是十分的方便,我们可以将整体代码部署成一个 Web 服务,这样其他人就可以方便的通过浏览器来查看该地球图了

我们先创建项目目录,命名为 flask_map,再将本地安装的 Pyecharts 目录下的 templates 文件夹拷贝到该目录下,同时再创建 data 文件夹和 main.py 文件,Pyecharts 模板位置如下:

pyecharts.render.templates

我们将数据集 owid-covid-data.csv 放到 data 文件夹下,再编写 main.py 文件

# coding = utf-8
"""
======================
@author:luobo
@time:2022/7/2:14:32
@email:
@File: main.py
======================
"""
from flask import Flask, render_template
from jinja2 import Markup, Environment, FileSystemLoader
from pyecharts.globals import CurrentConfig# 关于 CurrentConfig,可参考 [基本使用-全局变量]
CurrentConfig.GLOBAL_ENV = Environment(loader=FileSystemLoader("./templates"))from pyecharts import options as opts
from pyecharts.charts import MapGlobe
import pandas as pddf = pd.read_csv("data/owid-covid-data.csv")
df_0608 = df[df['date'] == '2022-06-08']
df_new = df_0608[pd.isna(df_0608['continent']) == False]
covid_data = df_new[['location', 'total_cases']].values.tolist()app = Flask(__name__, static_folder="templates")def Map_base():data = [x for _, x in covid_data]low, high = min(data), max(data)c = (MapGlobe().add_schema().add(maptype="world",series_name="World Covid Data",data_pair=covid_data,is_map_symbol_show=False,label_opts=opts.LabelOpts(is_show=False),).set_global_opts(visualmap_opts=opts.VisualMapOpts(min_=low,max_=high,range_text=["max", "min"],is_calculable=True,range_color=["lightskyblue", "yellow", "orangered"],)))return c@app.route("/")
def index():c = Map_base()c.render('templates/Map.html')return render_template("Map.html")if __name__ == "__main__":app.run()

这样,当我们启动 Flask 服务器之后,只需要访问根目录(/),就会在 templates 目录下生成 Map.html 文件,也会在浏览器正常展示地球图了

至于如何将本地 Web 应用部署到公网上,我们在后面的文章中再介绍吧!

我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

通过Pyecharts绘制可视化地球竟 然如此简单相关推荐

  1. 通过 Pyecharts 绘制可视化地球竟然如此简单!

    作者 | 周萝卜 来源 | 萝卜大杂烩 今天我们使用 Pyecharts 制作一个地球可视化项目,一起来看看吧 Let's go! 数据处理 这里我们使用全球新冠感染人数的数据集作为我们的测试数据,先 ...

  2. Python应用实战-如何用Pyecharts绘制可视化地图?

    Pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Pyt ...

  3. 第4章【思考与练习2】数据文件high-speed rail.csv存放着世界各国高速铁路的情况。对世界各国高铁的数据进行绘图分析。使用Basemap绘制地图及使用Pyecharts绘制地图。

    目录 P84思考与练习2 方法一:使用Basemap绘制地图 方法二:使用Pyecharts绘制地图 P84思考与练习2 1.叙述各类图形的特点.适合展示的数据特性,以及在数据探索阶段的用途. 函数绘 ...

  4. [Pyhon大数据分析] 二.PyEcharts绘制全国各地区、某省各城市地图及可视化分析

    思来想去,虽然很忙,但还是挤时间针对这次YQ写个Python大数据分析系列博客,包括网络爬虫.可视化分析.GIS地图显示.情感分析.舆情分析.主题挖掘.威胁情报溯源.知识图谱.预测预警及AI和NLP应 ...

  5. Pyecharts Geo绘制可视化地图并展示坐标位置

    文章目录 Pyecharts Geo绘制可视化地图 安装需要的模块 绘制出地图 生成空白地图 修改参数,调整地图输出格式 地图上展示坐标位置 输入坐标点 将坐标点添加入系列并配置系列 完整代码 参考文 ...

  6. python类处理可视化中国各省CO2排放数据,pyecharts绘制Timeline、Map、Pie、River、Treemap图

    文章目录 可视化展示 分析结果 1.1 Map-中国地图 1.2 Pie-时间线饼图 1.3 River-河流图 1.4 Treemap-矩形树图 2.1 PCA主成分分析降维+Kmeans聚类 2. ...

  7. 【Python】全文3000字,Pyecharts制作可视化大屏全流程! (附代码分享)

    就在上一篇的文章当中 干货分享 | 用Pyecharts绘制20钟不同风格的炫酷交互式图表,建议收藏 有粉丝提到说是不是可以写一篇用Pyecharts模块做可视化大屏的相关教程,小编立马就答应了他的请 ...

  8. 技术解析:如何用pyecharts绘制时间轮播图

    在前天的文章『用python制作动态图表看全球疫情变化趋势』中,由于篇幅原因,在数据处理与数据可视化相关内容上我们只是简单带过,那么我将以python小小白的角度去还原如何处理数据与数据可视化.本文为 ...

  9. Python机器学习---Pyecharts制作可视化大屏

    文章目录 Pyecharts可视化 Map世界地图 柱状图.饼图 Pyecharts组合图表 ECharts是由百度开源的基于JS的商业级数据图表库,有很多现成的图表类型和实例,而Pyecharts则 ...

最新文章

  1. 比较好的中文分词方案汇总推荐
  2. 我在大厂上班月薪7千,我晒大厂生活月入3万
  3. mysql_secure_installation
  4. [js高手之路]打造通用的匀速运动框架
  5. 鼠標滑過表格整行改變背景色
  6. Linux内核分析--操作系统是如何工作的
  7. java getstringarray_Java AnnotationAttributes.getStringArray方法代碼示例
  8. junit链接mysql_java – 使用JUnit进行简单的JDBC连接测试
  9. 数据预处理包括哪些内容python_常见的数据预处理--python篇
  10. python入门基础知识实例-Python入门基础知识实例,
  11. [9018_1563][bzoj_2144]跳跳棋
  12. 【把P2P进行到底:讲述Jxta的故事(2)】
  13. python——import日常学习记录
  14. uKey双向认证https
  15. 3DMAX导出插件编写(续)
  16. MySQL查询上周(从周一~周日)
  17. 学习方法和学习经验总结
  18. android n自带游戏,Android N玩游戏更快了 但国产ROM要等很久
  19. 全国计算机信息高新技术和全国计算机等级考试区别
  20. RPM REBUILD

热门文章

  1. 电脑硬盘坏了能修复吗?硬盘里面的数据恢复教程
  2. 使用python获取群聊信息并分析群聊成员
  3. 安搭Share:熬夜,对于身体健康的损坏程度,不亚于过度劳累
  4. 第12届蓝桥杯国赛真题剖析-2021年5月29日Scratch编程初中级组
  5. python+nodejs+vue酒店点餐饮系统项目
  6. 微信小程序之本地网络服务器配置
  7. Jmeter报错Couldn‘t save test plan to file
  8. AutoJs学习-实现自动刷快手极速版
  9. 学习Matlab的第一个程序——用二分法求根
  10. 数据库MySQL错误2058_SQLyog连接MySQL8.0报2058错误的完美解决方法