基于Python绘制湖北省冠状病毒确诊病例分布图

项目背景

         新冠肺炎的爆发拨乱了中国甚至世界的节奏,大家与我都被困足于家中。作为本科计算机的我,想通过Python数据分析的知识去了解新冠肺炎的情况。

数据来源

数据来源:丁香医生https://3g.dxy.cn/newh5/view/pneumonia?scene=2&clicktime=1579582238&enterid=157958223

采集数据时间:2020年1月27日

项目成果

基于Python绘制湖北省冠状病毒确诊病例分布图_第1张图片

使用技术

Pycharts是Python和Echarts共同结合体。Pycharts不仅拥有Echarts良好相互性与精巧的图表设计的特点,而且兼备Python强大数据处理能力。

注意事项

项目成果中的地图不显示恩施州的相关数据。

恩施州是恩施土家族苗族自治州的简称。Pycharts包原有湖北地图只存恩施州,数据源中以恩施土家族苗族自治州去存储数据。Pycharts包和数据源存现信息不对称情况,可使用

exec("cityName[11]='恩施土家族苗族自治州'")

去解决。

         项目成果在实现过程中,数据信息不在项目生成的地图中。

  数据源中城市名没有“市”字,导致Pycharts包和数据源存现信息不对称情况。编写代码时,利用
       

  for i in range(1, nrows):

    alldata = table.row_values(i)

    cityName.append(alldata[0] + '市')

    confirmedCount.append(alldata[1])

就可解决

代码实现

from pyecharts import Map
import xlrd

#获取冠状病毒数据集
data = xlrd.open_workbook('OK.xls', encoding_override='utf-8')
#确诊数目
confirmedCount=[]
#城市名
cityName=[]

table = data.sheets()[0]  # 选定表
nrows = table.nrows  # 获取行号
ncols = table.ncols  # 获取列号
#读取数据
for i in range(1, nrows):
    alldata = table.row_values(i)
    cityName.append(alldata[0] + '市')
    confirmedCount.append(alldata[1])
#替换名
exec("cityName[11]='恩施土家族苗族自治州'")

#绘制湖北省病情分布图
maps = Map(
    "湖北省冠状病毒分布图",
    title_color="#fff",
    title_pos="center",
    width=1200,
    height=600,
    background_color="#404a59",
)

maps.add(
         "",
         cityName,
         confirmedCount,
         maptype='湖北',
         is_visualmap=True,
         visual_text_color="#000",
         visual_range=[0, 700],
         is_label_show=True,
         is_map_symbol_show=True,
         is_more_utils=True,
)
maps.render(path="湖北省冠状病毒已确诊病例分布图.html")

 附录

本项目OK.xls数据信息

基于Python绘制湖北省冠状病毒确诊病例分布图_第2张图片

 

你可能感兴趣的:(Python,数据可视化)