色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python如何繪制疫情圖

瀏覽:3日期:2022-07-11 08:23:00

python中進(jìn)行圖表繪制的庫(kù)主要有兩個(gè):matplotlib 和 pyecharts, 相比較而言:

matplotlib中提供了BaseMap可以用于地圖的繪制,但是個(gè)人覺(jué)得其繪制的地圖不太美觀,而且安裝相較而言有點(diǎn)麻煩。

pyecharts是基于百度開(kāi)源的js庫(kù)echarts而來(lái),其最大的特點(diǎn)是:安裝簡(jiǎn)單、使用也簡(jiǎn)單。

所以決定使用pyecharts來(lái)繪制地圖。

1.安裝pyecharts

如果有anaconda環(huán)境,可用 pip install pyecharts 命令安裝pyecharts。

由于我們要繪制中國(guó)的疫情地圖,所以還要額外下載幾個(gè)地圖。地圖文件被分成了三個(gè)Python包,分別為:

全球國(guó)家地圖: echarts-countries-pypkg

安裝命令:pip install echarts-countries-pypkg

中國(guó)省級(jí)地圖: echarts-china-provinces-pypkg

安裝命令:pip install echarts-china-provinces-pypkg

中國(guó)市級(jí)地圖: echarts-china-cities-pypkg

安裝命令:pip install echarts-china-cities-pypkg

python如何繪制疫情圖

python如何繪制疫情圖

2.導(dǎo)包。

繪制地圖時(shí)我們根據(jù)自己需要導(dǎo)入需要的包,在pyecharts的官方文檔 https://pyecharts.org/#/ 中詳細(xì)列出了繪制各種圖表的的方法及參數(shù)含義,而且提供了各種圖標(biāo)的demo,方便我們更好地使用pyecharts。

from pyecharts.charts import Mapfrom pyecharts import options as opts

3.代碼

# 用于保存城市名稱和確診人數(shù)map_data = []for i in china : print(i) # 獲得省份名稱 province = i['name'] print('province:',province) province_confirm = i['total']['confirm'] # 保存省份名稱和該省確診人數(shù) map_data.append((i['name'],province_confirm))c = ( # 聲明一個(gè)map對(duì)象 Map() # 添加數(shù)據(jù) .add('確診', map_data, 'china') # 設(shè)置標(biāo)題和顏色 .set_global_opts(title_opts=opts.TitleOpts(title='全國(guó)疫情圖'), visualmap_opts=opts.VisualMapOpts(split_number=6,is_piecewise=True, pieces=[{'min':1,'max':9,'label':'1-9人','color':'#ffefd7'},{'min':10,'max':99,'label':'10-99人','color':'#ffd2a0'},{'min':100,'max':499,'label':'100-499人','color':'#fe8664'},{'min':500,'max':999,'label':'500-999人','color':'#e64b47'},{'min':1000,'max':9999,'label':'1000-9999人','color':'#c91014'},{'min':10000,'label':'10000人及以上','color':'#9c0a0d'} ])) )# 生成html文件c.render('全國(guó)實(shí)時(shí)疫情.html')

運(yùn)行成功后就可以在工程目錄下發(fā)現(xiàn)一個(gè)名為“全國(guó)實(shí)時(shí)疫情”的html文件,打開(kāi)就可以看到我們繪制的疫情圖啦!!

python如何繪制疫情圖

全部代碼(包含保存到數(shù)據(jù)庫(kù),爬取數(shù)據(jù)、繪制疫情圖):

#!/usr/bin/env python# -*- coding: utf-8 -*-import jsonimport requestsimport pymysql# 裝了anaconda的可以pip install pyecharts安裝pyechartsfrom pyecharts.charts import Map,Geofrom pyecharts import options as optsfrom pyecharts.globals import GeoType,RenderType# 繪圖包參加網(wǎng)址https://pyecharts.org/#/zh-cn/geography_chartsid = 432coon = pymysql.connect(user=’root’, password=’root’, host=’127.0.0.1’, port=3306, database=’yiqing’,use_unicode=True, charset='utf8')cursor = coon.cursor()url='https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'resp=requests.get(url)html=resp.json()data=json.loads(html['data'])time = data['lastUpdateTime']data_info = time.split(’ ’)[0]detail_time = time.split(’ ’)[1]# 獲取json數(shù)據(jù)的全國(guó)省份疫情情況數(shù)據(jù)china=data['areaTree'][0]['children']# 用于保存城市名稱和確診人數(shù)map_data = []for i in china : print(i) # 獲得省份名稱 province = i['name'] print('province:',province) province_confirm = i['total']['confirm'] # 保存省份名稱和該省確診人數(shù) map_data.append((i['name'],province_confirm)) # 各省份下有各市,獲取各市的疫情數(shù)據(jù) for child in i['children']: print(child) # 獲取城市名稱 city = child['name'] print('city:',city) # 獲取確診人數(shù) confirm = int(child['total']['confirm']) # 獲取疑似人數(shù) suspect = int(child['total']['suspect']) # 獲取死亡人數(shù) dead = int(child['total']['dead']) # 獲取治愈人數(shù) heal = int(child['total']['heal']) # 插入數(shù)據(jù)庫(kù)中 cursor.execute('INSERT INTO city(id,city,confirm,suspect,dead,heal,province,date_info,detail_time) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s)', (id, city, confirm, suspect, dead, heal, province, data_info, detail_time)) id = id + 1 coon.commit()c = ( # 聲明一個(gè)map對(duì)象 Map() # 添加數(shù)據(jù) .add('確診', map_data, 'china') # 設(shè)置標(biāo)題和顏色 .set_global_opts(title_opts=opts.TitleOpts(title='全國(guó)疫情圖'), visualmap_opts=opts.VisualMapOpts(split_number=6,is_piecewise=True, pieces=[{'min':1,'max':9,'label':'1-9人','color':'#ffefd7'},{'min':10,'max':99,'label':'10-99人','color':'#ffd2a0'},{'min':100,'max':499,'label':'100-499人','color':'#fe8664'},{'min':500,'max':999,'label':'500-999人','color':'#e64b47'},{'min':1000,'max':9999,'label':'1000-9999人','color':'#c91014'},{'min':10000,'label':'10000人及以上','color':'#9c0a0d'} ])) )# 生成html文件c.render('全國(guó)實(shí)時(shí)疫情.html')## china_total='確診' + str(data['chinaTotal']['confirm'])+ '疑似' + str(data['chinaTotal']['suspect'])+ '死亡' + str(data['chinaTotal']['dead']) + '治愈' + str(data['chinaTotal']['heal']) + '更新日期' + data['lastUpdateTime']# print(china_total)

以上就是python如何繪制疫情圖的詳細(xì)內(nèi)容,更多關(guān)于python繪制疫情圖的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美亚洲日本韩国一级毛片 | 欧美在线视频观看 | 国产精品视频免费一区二区三区 | 成人国产精品高清在线观看 | 国产原创一区二区 | 国内自拍tv在线 | 成人男女视频 | 欧美日韩精品乱国产 | 美女很黄很黄是免费的·无遮挡网站 | 日本加勒比系列 | 波多野结衣一区二区三区在线观看 | 中文字幕色站 | 亚洲欧美卡通成人制服动漫 | 欧美一级一一特黄 | 亚洲视频中文字幕在线 | 国产95在线 | 亚洲 | 国产中文在线视频 | 日韩一区二区中文字幕 | a级片在线观看视频 | 日韩欧美亚洲综合久久99e | 国产成人精品免费视频大 | 一级做a爰片久久毛片唾 | 免费一级a毛片在线播放 | 国产在线精品一区二区不卡 | 手机在线免费毛片 | 久久久久久亚洲精品影院 | 成年人黄页 | 久久久久久久99精品免费观看 | 色站综合 | 久久国产精品国产精品 | 欧美一区视频 | 日韩视频在线观看 | 国产在线精品一区二区三区不卡 | 特级a毛片| 老师张开腿让我爽了一夜视频 | 国产三级黄色片 | 国产91会所洗浴女技师按摩 | 欧美一区精品二区三区 | 自拍1页 | 中文偷拍视频在线观看 | 日日摸天天摸狠狠摸视频 |