<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
今天我們使用 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:
我們選取0608這一天的資料,可以看到 total_cases 欄位就是國家當前的累計總確診人數
下面就提取國家和確診人數
covid_data = df_new[['location', 'total_cases']].values.tolist()
Output:
通過 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()
這樣我們得到如下全球各國新管確診人數分佈圖
當前我們所有的程式碼都是執行在 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
檔案,也會在瀏覽器正常展示地球圖了
至於如何將本地 Web 應用部署到公網上,我們在後面的文章中再介紹吧!
更多關於Pyecharts繪製視覺化地球的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45