欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pyecharts繪制可視化地球?qū)崿F(xiàn)示例

 更新時間:2022年07月29日 14:48:54   作者:周蘿卜  
這篇文章主要為大家介紹了Pyecharts繪制可視化地球?qū)崿F(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

今天我們使用 Pyecharts 制作一個地球可視化項目,一起來看看吧

Let’s go!

數(shù)據(jù)處理

這里我們使用全球新冠感染人數(shù)的數(shù)據(jù)集作為我們的測試數(shù)據(jù),先來看看數(shù)據(jù)的整體情況

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:

我們選取0608這一天的數(shù)據(jù),可以看到 total_cases 字段就是國家當(dāng)前的累計總確診人數(shù)

下面就提取國家和確診人數(shù)

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

Output:

Pyecharts 繪圖

通過 Pyecharts 繪制地球圖,在官網(wǎng)上有很詳細(xì)的例子,我們直接套用即可

首先導(dǎo)入相關(guān)庫

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

定義地球圖函數(shù)并繪制

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

這樣我們得到如下全球各國新管確診人數(shù)分布圖

部署為 Web 服務(wù)

當(dāng)前我們所有的代碼都是運行在 Jupyter 當(dāng)中的,如果要分享給其他人,并不是十分的方便,我們可以將整體代碼部署成一個 Web 服務(wù),這樣其他人就可以方便的通過瀏覽器來查看該地球圖了

我們先創(chuàng)建項目目錄,命名為 flask_map,再將本地安裝的 Pyecharts 目錄下的 templates 文件夾拷貝到該目錄下,同時再創(chuàng)建 data 文件夾和 main.py 文件,Pyecharts 模板位置如下:

pyecharts.render.templates

我們將數(shù)據(jù)集 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
# 關(guān)于 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()

這樣,當(dāng)我們啟動 Flask 服務(wù)器之后,只需要訪問根目錄(/),就會在 templates 目錄下生成 Map.html 文件,也會在瀏覽器正常展示地球圖了

tup2

至于如何將本地 Web 應(yīng)用部署到公網(wǎng)上,我們在后面的文章中再介紹吧!

更多關(guān)于Pyecharts繪制可視化地球的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論