可視化實(shí)際上是對(duì)數(shù)據(jù)的一種描述,讓數(shù)據(jù)有了新的生命,方便我們?nèi)ビ^察和分析數(shù)據(jù)的動(dòng)態(tài)變化,及時(shí)做出決策,那么讓我們一起來實(shí)現(xiàn)一個(gè)數(shù)據(jù)可視化的小案例吧。
疫情動(dòng)態(tài)當(dāng)下對(duì)我們影響大的莫過于疫情的動(dòng)態(tài)了,相信每一次的數(shù)據(jù)變化都會(huì)牽動(dòng)著許多人的心,人們到處去查詢各地的疫情動(dòng)態(tài)信息,為了更方便更直觀的看到中國(guó)疫情的動(dòng)向,我們開始著手開搞吧!但是再開搞前,我們要思考如下幾個(gè)問題?
一般我們都會(huì)選擇去官方公布的數(shù)據(jù)網(wǎng)站進(jìn)行查詢,這樣數(shù)據(jù)比較準(zhǔn)!那我們準(zhǔn)備開發(fā)環(huán)境。
1:電腦一臺(tái)!!!
2:Python3.x
3:一個(gè)合理的編輯器!!!
4:記得帶一雙手!!!
注!數(shù)據(jù)來源:騰訊官方疫情數(shù)據(jù)
廢話少說!上教程!!! ctrl c v 就是干!!!
哈哈哈,是不是有點(diǎn)懵!不要慌!下面繼續(xù)來看,手把手教你學(xué)會(huì)!
1:首先用“谷歌”瀏覽器打開數(shù)據(jù)鏈接(你別整那360啥玩意的真鬧挺···)
一堆報(bào)文·····是不是嘎嘎惡心~不要慌!!
2:給我按F12
首先點(diǎn)network,沒有東西你就刷新一下界面就有了,然后觀察左下角的列表,看看是否攜帶數(shù)據(jù)!,然后看右邊的幾個(gè)小方塊,第一個(gè)headers可以查看請(qǐng)求的方式和請(qǐng)求頭的信息,payload可查看請(qǐng)求時(shí)需要攜帶的參數(shù),Preview是對(duì)當(dāng)前的信息進(jìn)行一個(gè)預(yù)覽,Response是請(qǐng)求成功后返回的東西。
知道這些后,就可以看到我們當(dāng)前的請(qǐng)求是post請(qǐng)求,攜帶參數(shù)在payload中。
3:梳理json數(shù)據(jù)
這就很通俗易懂了吧,師傅領(lǐng)進(jìn)門修行在個(gè)人,自己嘗試解析一下,這里不贅述了!
4:準(zhǔn)備上代碼!
# Author: Architect_WangBoWen
# Datetime: 2022-12-05 21:21:21
import requests
url = 'https://api.inews.qq.com/newsqa/v1/query/inner/publish/modules/list?modules=localCityNCOVDataList,diseaseh5Shelf'
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
data = {'modules':'localCityNCOVDataList,diseaseh5Shelf'}
res = requests.post(url = url,headers=headers,data=data)
json_data = res.json()['data']
res = requests.get(url=url,headers=headers,data=data)
res_json = res.json()
yq_list = res_json['data']['diseaseh5Shelf']['areaTree'][0]['children']
province_confirm_map = {}
for value in yq_list:
province_confirm_map[value['name']] = value['today']['local_confirm_add']二:數(shù)據(jù)存儲(chǔ)這里就很簡(jiǎn)單了吧,數(shù)據(jù)已經(jīng)讀在變量里面了,這不隨心所欲,想存哪存哪了!
三:選擇合適的圖表并展示這里全國(guó)的疫情信息,肯定是用中國(guó)地圖啊!別問為啥,我是中國(guó)人我驕傲!!!
這里我們可選用echarts進(jìn)行可視化展示,奈何俺不是一位前端程序猿,那就用pyecharts吧,沒錯(cuò)python是世界上最好的語言.java(別噴我(@^@))
import requests
import pyecharts
url = 'https://api.inews.qq.com/newsqa/v1/query/inner/publish/modules/list?modules=localCityNCOVDataList,diseaseh5Shelf'
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
data = {'modules':'localCityNCOVDataList,diseaseh5Shelf'}
def yq_map_ksh(url,headers,data):
res = requests.get(url=url,headers=headers,data=data)
res_json = res.json()
yq_list = res_json['data']['diseaseh5Shelf']['areaTree'][0]['children']
province_confirm_map = {}
for value in yq_list:
province_confirm_map[value['name']] = value['today']['local_confirm_add']
all_list = []
for key,value in province_confirm_map.items():
all_list.append([key,value])
yq_ksh_map = pyecharts.charts.Map()
yq_ksh_map.add("當(dāng)日省份確診",all_list,"china")
yq_ksh_map.set_global_opts(title_opts = pyecharts.options.TitleOpts(title='疫情防控')
,visualmap_opts = pyecharts.options.VisualMapOpts(
is_piecewise= True
, pieces=[
{"min": 0, "max": 50, "label": "0~50", "color": "khaki"}
, {"min": 50, "max": 100, "label": "50~100", "color": "yellow"}
, {"min": 100, "max": 500, "label": "100~500", "color": "orange"}
, {"min": 500, "max": 40000, "label": "500~1000", "color": "red"}
] )
)
yq_ksh_map.render('/Users/bohu/PycharmProjects/pythonProject/Flask/可視化/templates/index.html')
yq_map_ksh(url,headers,data)

這里對(duì)疫情數(shù)據(jù)范圍和顏色標(biāo)注進(jìn)行調(diào)整,都在代碼中,仔細(xì)觀看!!!
強(qiáng)調(diào)文本強(qiáng)調(diào)文本
這個(gè)問題問的好!!!我來淺淺的回答一下
1:可以嘗試弄一臺(tái)云服務(wù)器,把這個(gè)腳本部署到服務(wù)器上,進(jìn)行定時(shí)調(diào)度
2:沒條件的自己把.py文件打包為可執(zhí)行文件,用電腦的本身的定時(shí)任務(wù)去執(zhí)行就完事兒了
哈哈哈,如果你要分享,你截圖是不是太out了,讓俺來告訴你吧!
可以使用web框架,將你的結(jié)果寫在服務(wù)端,指定好ip+端口號(hào)就大功告成了。
這里就先賣個(gè)關(guān)子,敬請(qǐng)期待下期的博客!下期對(duì)這個(gè)進(jìn)行實(shí)現(xiàn)和講解!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
名稱欄目:【中國(guó)疫情數(shù)據(jù)可視化】-創(chuàng)新互聯(lián)
當(dāng)前URL:http://chinadenli.net/article2/cdosic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、建站公司、企業(yè)網(wǎng)站制作、商城網(wǎng)站、ChatGPT、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
移動(dòng)網(wǎng)站建設(shè)知識(shí)