python 은 전염병 상황 도 를 어떻게 그립 니까?

python 에서 도 표를 그 리 는 라 이브 러 리 는 주로 두 가지 가 있 습 니 다.matplotlib 와 pyecharts 는 비교 해 보면:
matplotlib 에 서 는 지 도 를 그 릴 수 있 는 BaseMap 을 제공 합 니 다.그러나 개인 적 으로 그 려 진 지 도 는 그다지 아름 답지 않 고 설치 가 좀 번 거 롭 습 니 다.
pyecharts 는 바 이 두 오픈 소스 의 js 라 이브 러 리 echarts 를 바탕 으로 하 는 것 으로 가장 큰 특징 은 설치 가 간단 하고 사용 도 간단 하 다 는 것 이다.
그래서 pyecharts 를 사용 하여 지 도 를 그리 기로 했 습 니 다.
1.pyecharts 설치
anaconda 환경 이 있 으 면 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.가방 안내.
지 도 를 그 릴 때 우 리 는 필요 한 가방 을 가 져 올 때 pyecharts 의 공식 문서https://pyecharts.org/#/에서 각종 도 표를 그 리 는 방법 과 매개 변수 의 미 를 상세 하 게 열거 하고 각종 아이콘 의 demo 를 제공 하여 pyecharts 를 더욱 잘 사용 할 수 있 도록 합 니 다.

from pyecharts.charts import Map
from pyecharts import options as opts
3.코드

#              
map_data = []
for i in china :
  print(i)
  #       
  province = i["name"]
  print("province:",province)
  province_confirm = i["total"]["confirm"]
  #              
  map_data.append((i["name"],province_confirm))
c = (
  #     map  
  Map()
  #     
  .add("  ", map_data, "china")
  #        
  .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")
실행 에 성공 하면 프로젝트 디 렉 터 리 에서'전국 실시 간 전염병 상황'이라는 html 파일 을 발견 할 수 있 습 니 다.열 면 우리 가 그린 전염병 상황 도 를 볼 수 있 습 니 다!

모든 코드(데이터베이스 에 저장,데이터 추출,전염병 상황 도 그리 기 포함):

#!/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
#        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             
china=data["areaTree"][0]["children"]
#              
map_data = []
for i in china :
  print(i)
  #       
  province = i["name"]
  print("province:",province)
  province_confirm = i["total"]["confirm"]
  #              
  map_data.append((i["name"],province_confirm))
  #        ,         
  for child in i["children"]:
    print(child)
    #       
    city = child["name"]
    print("city:",city)
    #       
    confirm = int(child["total"]["confirm"])
    #       
    suspect = int(child["total"]["suspect"])
    #       
    dead = int(child["total"]["dead"])
    #       
    heal = int(child["total"]["heal"])
    #       
    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()
  #     
  .add("  ", map_data, "china")
  #        
  .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 이 전염병 상황 도 를 어떻게 그 리 는 지 에 대한 상세 한 내용 입 니 다.python 이 전염병 상황 도 를 그 리 는 것 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기