Matplotlib 入门

Pyplot 简介

matplotlib.pyplot 接口使得 matplotlib 可以像 MATLAB 那样工作,例如创建图片、在图片中创建绘图区域、在绘图区域中绘制线条等。

为了使用 matplotlib.pyplot API,首先需要导入该模块:

1import matplotlib.pyplot as plt

安装 Matplotlib

使用 conda 进行安装:

1conda install matplotlib

使用 pip 进行安装:

1pip install matplotlib

一个简单的示例

绘制正弦函数:

 1import numpy as np
 2import matplotlib.pyplot as plt
 3
 4# x 轴坐标
 5x = np.linspace(0, 2 * np.pi, 100)
 6
 7# y 轴坐标
 8y = np.sin(x)
 9
10# 创建图片和 axes
11_, ax = plt.subplots()
12
13# 绘制
14ax.plot(x, y)
15
16# 显示图片
17plt.show()

绘制简单的折线图

绘制一条简单的折线图:

1plt.plot([4, 1, 3, 2])     # 绘制折线图
2plt.ylabel('some numbers') # 设置 y 轴标签
3plt.show()                 # 显示图片

绘制平方函数:

1plt.plot(range(101), [i ** 2 for i in range(101)]) # 绘制折线图
2plt.xlabel('x')                                    # 设置 x 轴标签
3plt.ylabel('x^2')                                  # 设置 y 轴标签
4plt.show()                                         # 显示图片

绘制正弦函数:

1x = np.arange(0, 2 * np.pi, 0.1)      # x 轴坐标
2y = np.sin(x)                         # 计算 y 轴坐标
3plt.plot(x, y, 'k-', linewidth=1.5, ) # 绘制折线图,k- 为格式化字符串,其中 k 表示黑色,- 表示实线, 线宽为 1.5 像素
4plt.xlabel('x')                       # 设置 x 轴标签
5plt.ylabel('y')                       # 设置 y 轴标签
6plt.show()                            # 显示图片

pyplot 可以指定线的颜色和格式,默认的格式为 b-, 即蓝色实线,如果想要用其他图例,例如红色实心圆形,可以设置格式为 ro

绘制散点图:

1plt.plot([i ** 2 for i in range(5)], 'ro') # 绘制散点图,格式为红色实心圆心
2plt.show()                                 # 显示图片

pyplot 兼容 numpy 里的数组,并且可以在一个图表里绘制多条曲线,示例如下:

1import numpy as np
2
3x = np.arange(-2., 2., 0.1)                               # x 轴坐标
4plt.plot(x, x, 'b-', x, x ** 2, 'r--', x , x ** 3, 'g-.') # 绘制 y = x, y = x^2 和 y = x^3 共三条曲线
5plt.show()                                                # 显示图片

绘制直方图

绘制人类智商分布的直方图:

 1mu, sigma = 100, 15                                       # 正态分布参数
 2x = mu + sigma * np.random.randn(10000)                   # x 轴坐标
 3plt.hist(x, 50, density=True, facecolor='g', alpha=0.75)  # 绘制密度直方图,桶数量为 50,颜色为绿色,alpha 值为 0.75
 4plt.xlabel('Smarts', fontsize=16, color='black')          # 设置 x 轴标签内容、字号、颜色
 5plt.ylabel('Probability', fontsize=16, color='black')     # 设置 y 轴标签内容、字号、颜色
 6plt.title('Histogram of IQ', fontsize=20)                 # 设置标题内容、字号
 7plt.text(45, .026, r'$\mu=100,\ \sigma=15$', fontsize=14) # 在指定位置绘制文本并设置字号
 8plt.axis([40, 160, 0, 0.03])                              # 设置 x 轴和 y 轴显示范围
 9plt.grid(True)                                            # 绘制网格
10plt.show()                                                # 显示图片

直方图绘制示例

添加注解

 1t = np.arange(0.0, 5.0, 0.01)                               # x 轴坐标
 2s = np.cos(2*np.pi*t)                                       # y 轴坐标
 3line, = plt.plot(t, s, lw=2)                                # 绘制折线图,线宽为 2 像素
 4plt.annotate('local max',                                   # 添加注解
 5             color = 'red',                                 # 颜色为红色
 6             fontsize=18,                                   # 字号为 18
 7             xy=(2, 1),                                     # 箭头坐标
 8             xytext=(3, 1.5),                               # 注解坐标
 9             arrowprops=dict(facecolor='red', shrink=0.01), # 设置箭头格式
10             )
11plt.ylim(-2, 2)                                             # 设置 y 轴显示范围
12plt.show()                                                  # 显示图片

添加注解示例

下一页
上一页

相关