Python 기반 전염병 데이터 시각화(matplotlib, pyecharts 동적 지도, 대형 화면 시각화)

Python 기반 전염병 데이터 시각화

학습 질문이 있는 경우 저를 WeChat에 추가하여 소통할 수 있습니다! bmt1014

1. 프로젝트 수요 분석

1.1 배경

2020년, COVID-19 전염병은 전 세계적으로 발생하여 사람들의 건강과 생명에 심각한 위협을 가하고 있으며, 여러 국가 및 지역의 전염병 상황도 광범위한 관심을 받고 있습니다. 전염병 데이터의 모니터링 및 분석은 전염병 예방 및 통제와 과학적 예방 및 통제에 매우 중요합니다. 이 보고서는 전염병 데이터를 기반으로 시각적 데이터 분석을 통해 전 세계 및 국내 전염병 상황의 발전 추세와 변화를 제시하여 사람들이 전염병의 실제 상황을 보다 직관적이고 포괄적으로 이해하도록 돕고 사회 전체에 좋은 일을 하고 있습니다. 정부와 대중에게 전염병 예방 및 통제 및 처리에 대한 참조를 제공하십시오.

1.2 데이터 소스

이 데이터는 세계보건기구(WHO) 웹사이트에서 가져온 것으로 특정 날짜를 기준으로 전 세계적으로 COVID-19 사례 및 사망자 수에 대한 통계가 포함되어 있습니다.
데이터 기능 설명:
Date_reported: 보고 날짜
Country_code: 국가/지역 약어 코드
Country: 국가/지역 이름
WHO_region: WHO 지역
New_cases: 신규 확진자 수
Cumulative_cases: 누적 확진자 수
New_deaths: 신규 사망자 수
Cumulative_deaths: 누적 사망자 수 사망
이 변수는 전 세계 COVID-19 발발에 대한 기본 통계를 제공합니다. 국가별로 보고 날짜, 누적 및 일일 신규 확진자 수 및 사망자 수에 대한 자세한 통계가 제공되며
일부 데이터는 그림에 표시됩니다.
여기에 이미지 설명 삽입

1.3 구체적인 목표

[과제 1] 기본 지도를 사용하여 중국의 전염병 상황 표시
[과제 2] 선형 차트를 사용하여 우창 국가의 신규 확진자 추이 표시
[과제 3] 애니메이션을 사용하여 신규 진단 TOP10 국가 수 표시 매일
[과제 4] 링 차트를 사용하여 7개 대륙의 전염병 상황 표시
[과제 5] 동적 지도를 사용하여 매월 전 세계 신규 인구 수 표시
[과제 6] 대형 화면 시각적 매핑 분석 사용

2. 전체적인 디자인

2.1 본 실험에 사용된 환경

(1) windows10 시스템
(2) PyCharm Community Edition 2022.2.1 소프트웨어
(3) Python 버전: 3.8
(4) Anaconda 및 Jupyter Notebook

2.2 시각화 체계

1. 작업 1, 2 및 3의 경우 matplotlib 시각화 라이브러리를 사용하여 주로 히스토그램, 선 그래프, 막대 그래프 및 링 그래프를 포함하는 전염병 데이터를 표시합니다.
2. 작업 4, 5, 6에 주로 동적 지도, 파이 차트, 히스토그램 및 대형 화면 시각적 표시를 위한 기타 기본 그래픽을 포함하는 pyecharts 시각화 라이브러리를 사용합니다.

3. 상세설계

작업 1은 기본 지도를 사용하여 중국의 전염병 상황을 보여줍니다.

(1) 채택할 기술
motplotlib의 히스토그램 그리기 기능을 사용하여 중국의 전염병 상황에 대한 히스토그램을 표시할 것을 제안합니다. 중국 전체의 감염 및 사망 수 히스토그램 (
2 ) 작업 1 소스 프로그램
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

작업 2 선 차트를 사용하여 Wuchang 국가의 신규 확진 사례 추세 표시

(1) 사용 기술
motplotlib의 히스토그램 그리기 기능을 사용하여 Wuchang 국가의 전염병 상황에 대한 추세선 차트를 표시할 계획이며 데이터 관찰을 용이하게 하기 위해 전염병 추세를 표시하는 데 5가지 색상과 할인이 사용됩니다.
(2) 소스 프로그램
여기에 이미지 설명 삽입

과제 3 매일 신규 확진자가 발생하는 TOP10 국가를 애니메이션으로 보여주기

(1) 도입할 기술 이
코드는 주로 Pandas 라이브러리를 사용하여 데이터를 처리하고 분석하고 Matplotlib 라이브러리를 사용하여 차트를 그리고 Matplotlib 애니메이션 기능을 사용하여 데이터의 변화 과정을 표시하고 datetime 라이브러리를 사용합니다. 날짜 및 시간 처리를 위해 그리고 문자열 형식화 기능은 데이터를 지정된 문자열 형식으로 형식화합니다.
(2) 소스 프로그램
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

작업 4는 링 차트를 사용하여 7개 대륙의 전염병 상황을 보여줍니다.

하위 작업 1: 링 차트를 사용하여 7개 대륙의 전염병 상황 표시

(1) 도입할 기술 이
코드는 주로 Pandas 라이브러리를 사용하여 데이터를 처리하고 분석하고, Matplotlib 라이브러리를 사용하여 차트를 그리고 Matplotlib 하위 그래프 및 링 함수를 사용하여 여러 링 그래프를 표시하고 사전 및 Lambda 함수를 사용합니다. 동시에 데이터 처리를 수행하고 문자열 형식화 기능은 데이터를 지정된 문자열 형식으로 형식화합니다.
(2) 소스 프로그램
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

하위 작업 2: 장미도를 사용하여 세계 상위 10개국의 사망률 장미도 표시

(1) 도입할 기술
Pandas 라이브러리를 이용하여 데이터를 처리 및 분석하고, pyecharts 라이브러리를 이용하여 차트를 그리고, pyecharts 라이브러리를 이용하여 나이팅게일 장미도를 그리고, set_series_opts를 통해 부채꼴 속성을 설정할 예정이다. 방법을 사용하고 마지막으로 시각적 차트를 생성합니다. 그리기 과정에서 내경과 외경의 비율, 차트의 중심 위치, 나이팅게일 장미 다이어그램의 유형 등을 설정하는 등 pyecharts 라이브러리에서 제공하는 일부 옵션도 사용됩니다. (2) 소스
프로그램
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

작업 5: 동적 지도를 사용하여 매월 전 세계의 새로운 사람 수를 표시합니다.

(1) 채택할 기술
주로 맵 맵과 타임라인 시간 축의 두 가지 유형의 차트를 사용하여 지도에 각 국가의 새로운 인구 수를 표시하고 시간 축을 통해 데이터의 동적 표시 기능을 실현합니다.
코드에서 pandas 라이브러리는 CSV 파일을 읽고 처리하는 데 사용되며, numpy 라이브러리, datetime 라이브러리, collections 라이브러리, matplotlib 라이브러리 등을 사용하여 데이터를 처리하고 차트를 그립니다. 타임라인 차트를 구성하고 해당 매개변수를 구성하고 마지막으로 대화형 HTML 웹 페이지를 생성합니다.
구체적인 구현 프로세스는 먼저 CSV 파일을 읽고 불필요한 열 정보를 삭제한 다음 데이터를 정리 및 가공하여 매월 국가별 신규 확진자 수 정보를 얻은 다음 Map 및 Timeline 카테고리를 사용하는 것입니다. pyecharts 라이브러리에서 이 함수는 지도와 타임라인 차트를 생성하고, add() 메서드를 통해 해당 데이터 시퀀스를 추가하고, add_schema() 메서드와 set_global_opts() 메서드로 제어할 관련 전역 매개변수를 설정합니다. 마지막으로 시간축 개체로 결합되어 동적 차트의 표시 효과를 구현합니다.
(2) 소스 프로그램
여기에 이미지 설명 삽입

작업 6: 대형 화면 시각적 매핑 분석 사용

(1) 주로 채택할 기술은
히스토그램, 지도, 원형 차트, 선형 차트, 깔때기 차트 등 다양한 형태로 전염병 데이터의 다양한 차원과 특성을 표시합니다.먼저 pandas 라이브러리를 통해 3개의 CSV 파일을 읽습니다. 일일 신규 데이터 신규 확진자 수, 누적 확진자 수, WHO가 발표한 전 세계 전염병 데이터. 그러면 pyecharts 라이브러리를 통해 6개의 차트 시각화가 구현됩니다.

4. 실행 결과 및 결과 분석

작업 1은 기본 지도를 사용하여 중국의 전염병 상황을 보여줍니다.

(1) 러닝 결과
여기에 이미지 설명 삽입

(2) 결과 분석
막대 그래프는 1월 26일 전국 각 성의 감염자 수를 나타냅니다. 이날 후베이성 ​​감염자 수가 많았고 다른 지역의 감염자 수가 많은 것을 알 수 있습니다.
(1) 운영 결과
여기에 이미지 설명 삽입

(2) 결과 분석
누적 세로 막대형 차트를 사용하여 2월 중국의 전염병 상황에 대한 히스토그램을 그립니다.파란색 부분은 감염자 수, 주황색 부분은 사망자 수입니다. 데이터에 따르면 감염자 수가 날마다 증가하고 있으며 증가폭이 상대적으로 큽니다. 사망자 수의 소폭 증가는 2월 우리나라의 전염병 확산이 제대로 통제되지 않았지만 사망자 수는 잘 통제되었음을 보여줍니다.

작업 2 선 차트를 사용하여 Wuchang 국가의 신규 확진 사례 추세 표시

(1) 러닝 결과
여기에 이미지 설명 삽입

(2) 결과 분석 이
수치는 2020년 1월 22일부터 2020년 3월 22일까지 우창 국가의 전염병 신규 확진자 수 추이를 보여준다. 이 그림은 1월부터 3월까지의 기간 동안 중국에서 신규 사례 수가 가장 많이 증가했음을 보여줍니다. 나머지 4개국은 더 느리게 증가했지만 2020년 3월 8일 이후 급속도로 증가하기 시작했습니다.

과제 3 매일 신규 확진자가 발생하는 TOP10 국가를 애니메이션으로 보여주기

(1) 러닝 결과
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

(2) 결과 분석
이 수치는 2020년 3월 20일과 2020년 3월 22일에 세계에서 신규 감염자가 가장 많은 상위 10개국을 나타냅니다. 감염 추세가 점차 증가하고 있음을 알 수 있습니다.

작업 4는 링 차트를 사용하여 7개 대륙의 전염병 상황을 보여줍니다.

하위 작업 1: 링 차트를 사용하여 7개 대륙의 전염병 상황 표시
(1) 작업 결과
여기에 이미지 설명 삽입

(2) 결과 분석
이 그림은 7개 대륙 국가의 전염병 상황에 대한 새로운 감염률, 회복률 및 사망률을 가진 링 다이어그램을 보여줍니다. 아시아 국가의 회복률이 다른 대륙보다 상대적으로 높은 것을 알 수 있음
하위 작업 2: 장미 차트는
사망률 상위 10개국의 결과를 보여줍니다(1)

(2) 결과 분석
이 수치는 세계에서 사망률이 가장 높은 상위 10개 국가를 나타낸 것임 이 데이터는 2020년 3월 기준이므로 중국의 사망률이 상대적으로 높음을 알 수 있음

작업 5는 동적 지도를 사용하여 매월 전 세계의 새로운 사람 수를 표시합니다.

(1) 러닝 결과
여기에 이미지 설명 삽입

(2) 결과 분석 이
동적 지도를 통해 2020년 한 해 동안 전 세계 여러 국가의 코로나19 신규 확진자 수 추세를 명확하게 관찰할 수 있습니다. 지도가 월별로 표시되기 때문에 다른 달에 어떤 국가에 더 많은 신규 사례가 있는지, 어떤 국가에 더 적은 신규 사례가 있는지, 심각한 발병이 있는 일부 국가에서 전염병이 완화되었는지 여부를 확인할 수 있습니다. 또한 해당 국가에 마우스를 올려 해당 국가의 신규 확진자 수를 확인할 수도 있습니다.

작업 6은 대형 화면 시각적 매핑 분석을 사용합니다.

(1) 러닝 결과
여기에 이미지 설명 삽입

(2) 신규 확진자 분석 결과
히스토그램(시간축) : 2020.01.22~2020.03.33까지 일간 신규 확진자를 표시하고, 3일마다 신규 확진자를 누적하여 보여주는 차트입니다. 이 차트를 보면 신종 코로나바이러스가 얼마나 빨리 퍼지고 언제 최대 전염이 일어나는지 알 수 있습니다.
누적 확진자, 사망 및 회복자 수 히스토그램: 이 차트는 국가별 누적 확진자, 사망 및 회복자 수를 표시하는 데 사용됩니다. 여러 국가의 데이터를 비교하여 전 세계 전염병에서 이들 국가의 기여도를 알 수 있습니다.
국가별 신규 사례 지도(시간 축): 이 차트는 2020.01.02 이후 매월 전 세계 신규 사례 수를 보여줍니다. 이 지도를 통해 우리는 전염병 발생 이후 전 세계적으로 새로운 사례가 확산되고 있으며 추세가 비교적 분명하고 유럽과 미국의 새로운 사례 수가 훨씬 더 많다는 것을 알 수 있습니다. 아시아에서 말이다.

5. 프로젝트 결론 및 제안

새로운 크라운 폐렴 전염병 데이터의 처리 및 분석을 통해 다음과 같은 결론이 도출됩니다.
COVID-19 전염병 데이터 세트는 Python의 데이터 시각화 라이브러리 Pyecharts를 사용하여 시각화됩니다. 기본 그래프, 선 그래프, 이동 그래프, 원형 그래프, 지도 등 다양한 보기 도구를 통해 중국의 신규 확진자 수, 5개 영구 국가, 7대주, 전 세계의 전염병 상황을 직관적으로 보여줍니다. 월.
시각화를 할 때 다양한 작업에 따라 적절한 시각화 방법을 선택해야 합니다. 예를 들어 중국의 전염병 상황을 표시할 때 히스토그램이나 누적 차트를 사용할 수 있으며 선형 차트를 사용하여 우창에서 새로 진단된 사례의 추세를 명확하게 표시할 수 있습니다. 다이내믹 맵을 사용하여 매일 새로 진단된 TOP10 국가의 수를 표시하면 수치 변화와 차이를 더 잘 반영할 수 있습니다. 글로벌 신규 월별로 표시되는 동적 지도 국가별 신규 확진자의 공간적 분포를 쉽게 찾을 수 있습니다.

6. 큰 숙제 경험과 경험

대규모 데이터셋을 다룰 때는 어떤 정보를 표현할지 신중히 고민하고, 정보의 종류에 따라 니즈에 맞는 시각화 방법을 선택해야 합니다.
Pyecharts를 사용하면 다양한 유형의 그래픽을 빠르게 만들 수 있습니다.그 그래픽은 아름답고 조작하기 쉽습니다.아마추어가 데이터를 분석하는 데 편리할 뿐만 아니라 데이터 과학자가 통찰력을 빠르게 입증할 수 있습니다.
생산 과정에서 아름다움과 단순함을 결합하는 원칙에 주목하십시오. 차트에 정보가 너무 많으면 시각적으로 혼란스러울 수 있습니다. 따라서 크기 조정, 레이블 크기 등과 같은 세부 사항에 주의를 기울이면서 시각적 디자인이 명확하고 이해하기 쉬운지 확인하십시오.

여기에 이미지 설명 삽입

Supongo que te gusta

Origin blog.csdn.net/weixin_48676558/article/details/131144715
Recomendado
Clasificación