最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python如何繪制疫情圖

 更新時間:2020年09月16日 15:00:14   作者:默默不語  
這篇文章主要介紹了python如何繪制疫情圖,幫助大家理解和學(xué)習(xí)用python繪制圖像,感興趣的朋友可以了解下

python中進行圖表繪制的庫主要有兩個:matplotlib 和 pyecharts, 相比較而言:

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

  pyecharts是基于百度開源的js庫echarts而來,其最大的特點是:安裝簡單、使用也簡單。

所以決定使用pyecharts來繪制地圖。

1.安裝pyecharts

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

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

    全球國家地圖: echarts-countries-pypkg

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

    中國省級地圖: echarts-china-provinces-pypkg

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

    中國市級地圖: echarts-china-cities-pypkg

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

2.導(dǎo)包。

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

from pyecharts.charts import Map
from 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 = (
  # 聲明一個map對象
  Map()
  # 添加數(shù)據(jù)
  .add("確診", map_data, "china")
  # 設(shè)置標(biāo)題和顏色
  .set_global_opts(title_opts=opts.TitleOpts(title="全國疫情圖"),
           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("全國實時疫情.html")

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

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import json
import requests
import pymysql
# 裝了anaconda的可以pip install pyecharts安裝pyecharts
from pyecharts.charts import Map,Geo
from pyecharts import options as opts
from pyecharts.globals import GeoType,RenderType
# 繪圖包參加網(wǎng)址https://pyecharts.org/#/zh-cn/geography_charts

id = 432
coon = 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ù)的全國省份疫情情況數(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ù)庫中
    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 = (
  # 聲明一個map對象
  Map()
  # 添加數(shù)據(jù)
  .add("確診", map_data, "china")
  # 設(shè)置標(biāo)題和顏色
  .set_global_opts(title_opts=opts.TitleOpts(title="全國疫情圖"),
           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("全國實時疫情.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如何繪制疫情圖的詳細內(nèi)容,更多關(guān)于python繪制疫情圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

全南县| 松溪县| 都匀市| 晋城| 资源县| 双鸭山市| 平阳县| 连平县| 鞍山市| 承德县| 班玛县| 台前县| 德安县| 阿尔山市| 合阳县| 凉城县| 逊克县| 龙井市| 吉安市| 陆丰市| 西青区| 杭锦后旗| 普宁市| 黔西| 安平县| 崇文区| 离岛区| 柳江县| 黑龙江省| 五大连池市| 密山市| 大冶市| 肃北| 孟州市| 上犹县| 台北市| 西吉县| 雷山县| 贞丰县| 凤庆县| 承德县|