python 은 전염병 상황 도 를 어떻게 그립 니까?
7075 단어 python제도 하 다전염병 발생 상황 도
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 이 전염병 상황 도 를 그 리 는 것 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.