4分钟

任务 2 Jupyter Notebook及Matplotlib介绍

任务目的

在这一步中,会对实验中使用的辅助工具Jupyter Notebook以及Python的绘图工具Matplotlib进行介绍。包括Jupyter Notebook的界面说明与常用快捷键,如何使用Jupyter Notebook进行文件的创建、编辑、保存与下载,同时也会对实验中所需要用到的Matplotlib绘图的三层结构进行说明。如果学员已经熟悉了Jupyter Notebook以及Matplotlib的基本操作,可以跳过这一部分的内容学习。

任务步骤

1.Jupyter Notebook介绍

(1)主页介绍

下图展示了Jupyter Notebook的主页,以及主页中常用的功能按钮说明:

4-2-1 Jupyter Notebook主页

(2)文档页介绍

如果在主页点击【New】按钮,然后选择【Python 3】,即可新建一个Notebook文档,并自动跳转到文档页:

4-2-2 新建Notebook文档

文档页的界面展示如下:

4-2-3 文档页界面展示

图片中标注的几个模块主要功能如下:

模块名

功能说明

1.文档名/存档信息

展示文档名,和文档的保存状态(如最近一次的保存时间点)。

2.菜单栏

包含文档中可能用到的各种功能合集,菜单栏中主要包括文档(File)、编辑(Edit)、视图(View)、插入(Insert)、单元格(Cell)、内核(Kernel)、Widgets(组件)、Help(帮助)这些菜单。

3.工具栏

编辑文档中常用的工具合集,包含保存文件、插入代码块、剪切/复制/粘贴代码块、上移/下移选中单元格、运行、中断/重启服务、重启服务并运行代码、单元格类型设置、打开命令配置这些功能。

4.单元格

单元格是Notebook内容结构中最基本的组成单位,可以用来展示代码、Markdown标记等内容。对于代码展示来说,一对In Out会话被视为一个代码单元。

5.内核状态

展示当前的内核占用情况,如果圆圈为空心,代表内核当前为空闲状态;如果圆圈为实心,代表当前内核为占用状态。

(3)常用快捷键说明

Jupyter Notebook中有一些常用的快捷键,学习掌握这些快捷键可以帮助我们提高笔记的编写效率。下面会介绍一些常用的快捷键:

  • 通用快捷键:

快捷键

功能

Shift+Enter

执行本单元格中的代码,并跳转到下一单元格。

Ctrl+Enter

执行本单元格中的代码,并留在本单元格。

命令模式(按下【ESC】键退出单元格)下:

快捷键

功能

H

查看常用的快捷键

Y

将当前单元格切换到代码模式

M

将当前单元格切换到Markdown模式

A

在当前单元格上方添加新的单元格

B

在当前单元格下方添加新的单元格

DD

删除当前的单元格

2.示例——第一个Jupyter Notebook文件

接下来将会通过一个具体的示例,实现一个Jupyter Notebook文件的创建、编辑、保存与下载。这一部分的操作相对比较简单,已经对Jupyter Notebook有一定了解的学员,可以直接跳转到下一部分内容的学习。

(1)创建新文件

在Jupyter Notebook的主页点击【New】按钮,选择【Python 3】,新建一个基于Python 3的Notebook文件,创建的步骤已经在上方的图中有所展示。在跳转到的新页面中,点击默认的文件名【Untitled】,可以重命名Notebook文件:

4-2-4 重命名Notebook文档

本例中创建一个名为【Hello World】的新文件,点击【Rename】按钮可以使新的文件名生效。

(2)编辑文件内容

点击单元格,或按下回车,进入单元格的编辑模式。接下来点击上方的【Code】按钮,选择【Markdown】,可以将当前单元格变更为Markdown单元格(也可以按【ESC】键进入命令模式,然后按下【M】键实现同样的功能)。在Markdown单元格中添加如下代码:

# Hello World

## 这是一个Markdown单元格

---

下方的代码将会打印当前的时间:

这一步定义Markdown单元格,并向其中添加代码。具体的步骤展示如下:

4-2-5 创建并编辑Markdown单元格

Markdown单元格支持Markdown语法,适合进行说明文本的展示。对于Markdown单元格,可以通过【Shift+Enter】快捷键执行其中的内容,使单元格中的样式生效,并生成新的单元格:

4-2-6 使Markdown单元格生效

点击单元格,或按下回车,进入单元格的编辑模式,然后输入以下代码:

# 导入datetime模块
import datetime
# 获取当前时间
current_datetime = datetime.datetime.now()
# 打印当前时间
print("当前的日期时间是:", current_datetime)

按下【Shift+Enter】,可以执行打印当前时间的功能,返回类似下方的结果:

当前的日期时间是: 2020-04-13 20:18:33.440082

在Notebook中执行代码的具体操作步骤展示如下:

4-2-7 在Notebook中执行代码

完成以上的操作后,单元格左侧展示In [1]的提示信息,说明单元格中的代码已经完成执行。

对于执行后会返回结果的代码,将会生成左侧包含Out [num]信息的输出单元格;如果代码正在执行,左侧会展示In [*]的提示信息。

(3)保存新文件

完成以上的代码编辑操作后,可以点击【保存】按钮,或按下【Ctrl+S】保存当前文档:

4-2-8 保存当前文档

接下来可以手动关闭当前页并进入主页。在主页中可以看到当前文档的名称已经更新:

4-2-9 当前文档信息展示

说明文档已经成功保存。

(4)下载文件到本地

如果想要下载文档,需要先关闭文档进程。勾选文档左侧的复选框,点击【Shutdown】按钮结束文档进程:

4-2-10 结束文档进程

再次勾选文档左侧的复选框,然后点击【Download】按钮完成文档的下载:

4-2-11 下载Notebook文档

浏览器会自动下载文档到本地,如果需要查看或编辑本地文档,可以通过页面中的【Upload】按钮上传本地文件后进行操作。

3.Matplotlib介绍

Matplotlib是一款支持Python语言的开源绘图库,它的主要特点是支持丰富的绘图类型、简单的绘图方式,同时具备完善的接口文档,是一款容易上手,同时又具有强大功能的数据可视化工具。

注:关于Matplotlib的更多信息,可以访问 Matplotlib官方网站

接下来会以Jupyter Notebook为例,介绍Matplot的使用。

想要在Jupyter Notebook中使用Matplotlib绘图,需要先准备实验环境。新建一个文档或打开一个现有文档,文档单元格中执行下方代码:

# 准备实验环境
%matplotlib inline
import matplotlib.pyplot as plt

命令%matplotlib inline的作用是将Matplotlib绘制的图形内嵌在Jupyter Notebook的页面中,无需执行命令plt.show()便可以直接在页面内展示绘制的图形。

命令import matplotlib.pyplot as plt会导入绘图需要用到的pyplot模块,并将其简称为plt,这是一种约定俗成的简写方式,可以明显提高绘图代码的可读性。

接下来想要绘制图像,最简单的情况下只需要一行代码即可:

plt.plot([1, 2, 1])

运行上方代码,将会展示一张简单的折线图:

4-2-12 绘制图像示例

示例中的参数[1, 2, 1]被视为图表中的y值,在没有指定的情况下,x值会默认从0开始每次递增1个值。即在本例中绘制了(0, 1),(1, 2), (2, 1)三个点,并通过折线将它们连接在一起。

至此一个简单图像的绘制工作便已经完成。在接下来的几个步骤中,将会介绍几种常见统计图表的绘制方法,同时会以示例的形式展示每种图表的具体应用。