脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Pyecharts绘制可视化地球实现示例

Pyecharts绘制可视化地球实现示例

2022-07-29 17:00周萝卜 Python

这篇文章主要为大家介绍了Pyecharts绘制可视化地球实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

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

Let’s go!

 

数据处理

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

import pandas as pd
df = 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:

Pyecharts绘制可视化地球实现示例

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

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

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

Output:

Pyecharts绘制可视化地球实现示例

 

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()

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

Pyecharts绘制可视化地球实现示例

 

部署为 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 pd
df = 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 文件,也会在浏览器正常展示地球图了

Pyecharts绘制可视化地球实现示例

 

tup2

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

更多关于Pyecharts绘制可视化地球的资料请关注服务器之家其它相关文章!

原文地址:https://juejin.cn/post/7124632143895986183

延伸 · 阅读

精彩推荐
  • PythonPython中tell()方法的使用详解

    Python中tell()方法的使用详解

    这篇文章主要介绍了Python中tell()方法的使用详解,是Python入门学习中的基础知识,需要的朋友可以参考下 ...

    Python教程网5232020-07-06
  • Pythonpytorch 获取tensor维度信息示例

    pytorch 获取tensor维度信息示例

    今天小编就为大家分享一篇pytorch 获取tensor维度信息示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    siqi_fighting10102020-05-11
  • Python快速了解python leveldb

    快速了解python leveldb

    这篇文章主要介绍了快速了解python leveldb,具有一定借鉴价值,需要的朋友可以参考下...

    kwsy20087922021-01-06
  • Pythonpython中的json总结

    python中的json总结

    JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。本文重点给大家介绍python中的json,感兴趣的朋友跟随小编一起看看吧...

    gallos6022021-04-06
  • Pythonpython实现websocket的客户端压力测试

    python实现websocket的客户端压力测试

    这篇文章主要为大家详细介绍了python实现websocket的客户端压力测试,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    刚刚登录8942021-07-20
  • PythonPython 列表理解及使用方法

    Python 列表理解及使用方法

    这篇文章主要介绍了Python 列表理解及使用方法的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下...

    chensn021702020-12-14
  • Pythonpython字符串的多行输出的实例详解

    python字符串的多行输出的实例详解

    在本篇文章里小编给大家整理的是一篇关于python字符串的多行输出的实例详解内容,有兴趣的朋友们跟着学习下。...

    小妮浅浅8812021-11-26
  • PythonPython实现从订阅源下载图片的方法

    Python实现从订阅源下载图片的方法

    这篇文章主要介绍了Python实现从订阅源下载图片的方法,涉及Python采集的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 ...

    saintatgod2562019-11-26