Numpy & Matplotlib for Python

Last renew: April 17, 2022 am

NumPy & Matplotlib for Python

写在前面:

本篇文章为个人学习总结所用。

使用环境:Anaconda + Python3.7 + Jupyter notebook + Tensorflow

NumPy 与 Matplotlib一同创造了一个MATLAB的完全替代品。配合Jupiter-notebook一同使用可以在数据处理上达到令人满意的效果。

NumPy

NumPy最重要的一个特点是其N维数组对象ndarray,是一系列同类型数据的集合。

创建一个ndarray只需要调用NumPy的array函数即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import numpy as np

# 一维数组
a = np.array([1, 2, 3])
print (a)
# 输出结果:[1 2 3]

# 多于一个维度
a = np.array([[1,2],[3,4]])
# 输出结果:[[1 2]
# [3 4]]

# 最小维度
a = np.array([1, 2, 3, 4, 5], ndmin = 2)
print (a)
# 输出结果:[[1 2 3 4 5]](这是一个二维数组,但是第二行没有赋值)

# dtype参数
a = np.array([1, 2, 3], dtype = complex)
print (a)
# 输出结果:[1.+0.j 2.+0.j 3.+0.j]

Matplotlib

Matplotlib 是 Python 的绘图库。通常和NumPy共同进行使用。

Pyplot是Matplotlib的子库,提供了和Matlab类似的绘图API

1
2
3
4
5
6
7
8
9
10
import matplotlib.pyplot as plt
import numpy as np

# plot()方法绘制二维图形
xpoints = np.array([0, 6])
ypoints = np.array([0, 100])

plt.plot(xpoints, ypoints)
plt.show()
# 得到一个(0,0) 到 (6,100) 的直线

plot函数可以绘制点和线,语法格式如下:

1
2
3
4
# 画单条线
plt.plot([x], y, [fmt], *, data=None, **kwargs)
# 画多条线
plt.plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

参数说明:

  • x, y:点或线的节点。x为x轴数据,y为y轴数据,数据可以列表或数组。
  • fmt:可选,定义基本格式(颜色,标记和线条样式)
  • **kwargs:可选,用在二维平面图上,设置指定属性,如标签和线的宽度。
1
2
3
4
>>> plot(x, y)        # 创建 y 中数据与 x 中对应值的二维线图,使用默认样式
>>> plot(x, y, 'bo') # 创建 y 中数据与 x 中对应值的二维线图,使用蓝色实心圈绘制
>>> plot(y) # x 的值为 0..N-1
>>> plot(y, 'r+') # 使用红色 + 号