如何使用Python的Matplotlib重绘图像?

如何使用Python的Matplotlib重绘图像?

前言

Matplotlib是一个Python的图形框架库,可以用来创建各种类型的图形,包括线性图、散点图、条形图等等。它的绘图风格类似于Matlab。在本文中,我们将介绍如何使用Matplotlib重构图像。

安装Matplotlib

在使用Matplotlib之前,我们需要先安装它。我们可以使用pip安装最新版本的Matplotlib:

pip install matplotlib

获取数据

在本文中,我们将使用中国2020年新型冠状病毒疫情的数据,数据源可以从GitHub上下载。我们将使用pandas库读取数据。

import pandas as pd

url = 'https://raw.githubusercontent.com/BlankerL/DXY-COVID-19-Data/master/csv/DXYArea.csv'
df = pd.read_csv(url)
df = df[df['countryEnglishName'] == 'China'] # 筛选中国的数据
df['updateTime'] = pd.to_datetime(df['updateTime']).dt.date # 只保留日期部分
df = df.groupby('updateTime')['confirmedCount'].sum().reset_index() # 按天统计每日确诊数

绘制原始图像

我们首先使用Matplotlib绘制原始图像:

import matplotlib.pyplot as plt

plt.plot(df['updateTime'], df['confirmedCount'], marker='o')
plt.title('Daily Confirmed Cases of COVID-19 in China')
plt.xlabel('Date')
plt.ylabel('Confirmed Cases')
plt.show()

这将生成一个线性图,表示每日确诊数

自定义样式

Matplotlib允许我们自定义图像的样式以及各个元素的布局。例如,我们可以更改线条的颜色、宽度和样式,以及添加网格线:

plt.plot(df['updateTime'], df['confirmedCount'], color='orange', linewidth=2, linestyle='dashed', marker='o')
plt.grid(axis='y')
plt.title('Daily Confirmed Cases of COVID-19 in China')
plt.xlabel('Date')
plt.ylabel('Confirmed Cases')
plt.show()

这将生成一个样式更改后的图像

绘制多个子图

我们可以使用Matplotlib绘制多个子图,以展示相关的数据。例如,我们可以绘制过去一周内每日新增患者和治愈患者的数量。我们可以使用plt.subplots()函数创建多个子图,例如:

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6))

ax1.plot(df['updateTime'][:-1], df['confirmedCount'].diff().fillna(0), color='red', linewidth=2)
ax1.set_title('Daily New Confirmed Cases in China')
ax1.set_xlabel('Date')
ax1.set_ylabel('New Cases')

ax2.plot(df['updateTime'], df['curedCount'], color='green', linewidth=2, linestyle='dashed', marker='o')
ax2.set_title('Cumulative Cured Cases in China')
ax2.set_xlabel('Date')
ax2.set_ylabel('Cured Cases')

plt.show()

这将生成包含两个子图的图形

结论

Matplotlib是一个功能强大的图形框架库,可以用来创建各种类型的图形。在本文中,我们演示了如何使用Matplotlib绘制原始图像、自定义样式和布局、以及如何绘制多个子图。这些基本技能对于数据可视化非常有用。您可以尝试在自己的数据上使用Matplotlib来探索更多有用的图形。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程