图像绘制

作者: LoveToday2020 | 来源:发表于2020-03-29 22:36 被阅读0次

今天是2020年3月29日,星期日,此时我大中华区此时已经将新冠病毒基本控制,希望其他国家也加油战胜病毒,现借各个国家疫情数据介绍一下matplotlib绘制曲线图、直方图、饼状图等

import pandas as pd 

import matplotlib.pyplot as plt 

import matplotlib.colors as mcolors

import numpy as np

#因为需要用到https的数据下载 所以引入了ssl

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

一、获取数据

confirmed_ds = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')

deaths_df = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv')

其中confirmed_ds、deaths_df 分别表示确诊数据以及死亡数据

confirmed_ds.head()

确诊数据

二、数据处理

1.准备数据

cols = confirmed_ds.keys()

confirmed = confirmed_ds.loc[:, cols[4]:cols[-1]]

deaths = deaths_df.loc[:, cols[4]:cols[-1]]

dates = confirmed.keys()

# 美国目前病历

us_cases = []

# 意大利目前病历

italy_cases = []

# 中国目前病历

china_cases = []

# 全球目前确诊病例

world_cases = []

# 全球目前死亡数量

total_deaths = []

mortality_rate = []

for index, date in enumerate(dates):

    us_cases.append(confirmed_ds[confirmed_ds['Country/Region']=='US'][date].sum())

    italy_cases.append(confirmed_ds[confirmed_ds['Country/Region']=='Italy'][date].sum())

    china_cases.append(confirmed_ds[confirmed_ds['Country/Region']=='China'][date].sum())

    death_sum = deaths[date].sum()

    confirmed_sum = confirmed[date].sum()

    total_deaths.append(death_sum)

    world_cases.append(confirmed_sum)

    mortality_rate.append(death_sum/confirmed_sum)

#将日期01/22/2020,01/23/2020 ,01/24/2020 ... 等映射成 1,2,3...

dates_index = np.array([index+1 for index, date in enumerate(dates)]).reshape(-1,1)

三、绘制图像

1.绘制曲线图

a.单挑曲线

plt.figure(figsize=(16, 9))

plt.plot(dates_index, world_cases, color='red')

plt.title('Currently confirmed cases in the world', size=30)

plt.xlabel('Days Since 01/22/2020', size=30)

plt.ylabel('World Cases', size=30)

plt.xticks(size=20)

plt.yticks(size=20)

plt.show()

图像

目前全球确诊病例

b.多条曲线

plt.figure(figsize=(15, 10))

plt.plot(dates_index, china_cases)

plt.plot(dates_index, italy_cases)

plt.plot(dates_index, us_cases)

plt.title('# of Coronavirus Cases', size=30)

plt.xlabel('Days Since 1/22/2020', size=30)

plt.ylabel('# of Cases', size=30)

plt.legend(['China', 'Italy', 'US'], prop={'size': 20})

plt.xticks(size=20)

plt.yticks(size=20)

plt.show()

图像

多个曲线

c.带有水平虚线

mean_world_case = np.mean(world_cases)

plt.figure(figsize=(16, 9))

plt.plot(dates_index, world_cases,linestyle='dashed', color='red')

plt.axhline(y = mean_world_case,linestyle='--', color='black')

plt.title('Currently confirmed cases in the world', size=30)

plt.xlabel('Days Since 01/22/2020', size=30)

plt.ylabel('World Cases', size=30)

plt.xticks(size=20)

plt.yticks(size=20)

plt.show()

图像

虚线图

d.条形图

plt.figure(figsize=(16, 4))

plt.barh('China', china_cases, height=0.4)

plt.barh('Italy', italy_cases,height=0.4)

plt.barh('USA', us_cases,height=0.4)

plt.title('# of Coronavirus Confirmed Cases', size=20)

plt.xticks(size=20)

plt.yticks(size=20)

plt.show()

图像

图形图

e.饼状图

c = random.choices(list(mcolors.CSS4_COLORS.values()),k = 3)

plt.figure(figsize=(20,15))

plt.title('Covid-19 Confirmed Cases', size=20)

plt.pie(country_cases, colors=c)

plt.legend(country_names, loc='best', fontsize=15)

plt.show()

图像

饼状图

相关文章

  • Android 图像绘制之 Drawable

    Android 图像绘制系列文章Android图像绘制之BitmapAndroid 图像绘制之 DrawableA...

  • Android 图像绘制之 Drawable(二)

    Android 图像绘制系列文章Android图像绘制之BitmapAndroid 图像绘制之 DrawableA...

  • Matplotlib绘制基本图形

    1 绘制普通图像 2 绘制柱状图 3 绘制散点图 (1)绘制普通图像 demo1 结果 demo2 结果 demo...

  • Canvas

    Canvas绘图- JavaScript 来绘制图像 使用 JavaScript 来绘制图像canvas 元素本身...

  • 数据绘制

    plot(x,y) %绘制图像 hold on。%在原先的图像上继续绘制 xlabel %x轴 ylabel。 %...

  • java图像处理干货篇

    java图像处理干货篇 绘制图像 绘制图像主要用到的是Graphics类中drawImage方法,当然Graphi...

  • 图像绘制

    今天是2020年3月29日,星期日,此时我大中华区此时已经将新冠病毒基本控制,希望其他国家也加油战胜病毒,现借各个...

  • QML Book 第七章 画布(Canvas)元素 2

    7.4 图片绘制 QML 画布支持来自多个来源的图像绘制。要在画布中使用图像,需要首先加载图像。我们将使用 Com...

  • Python 函数绘图及函数图像微分与积分

    前言 在学校太闲,就写了这个程序,可以绘制函数图像,并且可以绘制其导函数图像和不定积分的图像,效果非常不错。 效果...

  • GeoGeBra应用20190328|y=lnx-x+1的图像性

    环境:pc+GeoGeBra 打开GeoGeBra 绘制函数图像 输入y=ln(x)-x+1得到函数的图像 绘制导...

网友评论

    本文标题:图像绘制

    本文链接:https://www.haomeiwen.com/subject/vbcpuhtx.html