|
使用Python的Matplotlib库绘制图形的实例积累
Matplotlib的使用和MATLAB的plot的函数使用很相似,因为它就是根据MATLAB的plot的函数写出来的库。
目录
- 01-两个数组元素个数相同,其中一个作为x轴,另一个作为y轴
- 02-利用方法figure()在同一个程序中绘制多幅图像
- 03-绘制以某个一维数组的索引为横坐标,具体的值为纵坐标的曲线
- 04-利用plt.imshow()以图像形式显示矩阵
01-两个数组元素个数相同,其中一个作为x轴,另一个作为y轴
- # 出处:昊虹AI笔记网(hhai.cc)
- # 用心记录计算机视觉和AI技术
- import numpy as np
- import matplotlib.pyplot as plt
- X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
- C = np.cos(X)
- S = np.sin(X)
- plt.plot(X, C)
- plt.plot(X, S)
- plt.show()
复制代码
运行结果如下:
02-利用方法figure()在同一个程序中绘制多幅图像
- # -*- coding: utf-8 -*-
- # 出处:昊虹AI笔记网(hhai.cc)
- # 用心记录计算机视觉和AI技术
- import numpy as np
- import matplotlib.pyplot as plt
- X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
- C = np.cos(X)
- S = np.sin(X)
- plt.figure(1)
- plt.plot(X, C)
- plt.figure(2)
- plt.plot(X, S)
- plt.show()
复制代码
运行结果如下:
03-绘制以某个一维数组的索引为横坐标,具体的值为纵坐标的曲线
- import numpy as np
- import matplotlib.pyplot as plt
- A1 = np.array([1, 2, 3, 4], dtype='uint8')
- plt.plot(A1)
- plt.show()
复制代码
运行结果如下图所示:
从上面的运行结果可以清楚的看出,横坐标的确就是索引值,而纵坐标就是索引对应的元素的值。
04-利用plt.imshow()以图像形式显示矩阵
图像说白了就是矩阵,利用plt.imshow()可以以图像形式显示矩阵。
参数意义及参数cmap的意义可参考下面这篇博文:
https://blog.csdn.net/qq_28485501/article/details/82656614
参数cmap就是将矩阵的元素值映射到某个颜色空间。举例子来说,如果矩阵是二维矩阵,又通过设置参数cmap使值映射到灰度空间 Greys_r’,则相当于是显示这个二维矩阵表示的灰度图像; 如果矩阵是三维矩阵,默认情况下是映射到RGB空间,相当于显示三维矩阵表示的彩色图像。
示例代码如下:
- # -*- coding: utf-8 -*-
- # 出处:昊虹AI笔记网(hhai.cc)
- # 用心记录计算机视觉和AI技术
- import numpy as np
- from matplotlib import pyplot as plt
- A1 = np.array([[0, 1, 2, 3],
- [4, 5, 6, 7]], dtype='uint8')
- plt.figure(1)
- plt.imshow(A1, cmap='Reds', interpolation='nearest', origin='upper')
- plt.figure(2)
- plt.imshow(A1, cmap='Greys', interpolation='nearest', origin='upper')
- plt.figure(3)
- plt.imshow(A1, cmap='Greys_r', interpolation='nearest', origin='upper')
- plt.show()
复制代码
运行结果如下:
从上面的结果可以看出:
如果颜色空间不带后缀“_r”,则值越大,颜色越深;
如果颜色空间带后缀“_r”,则值越大,颜色越浅。
利用plt.imshow()可以帮助我们轻松绘制出图像的H-S二维直方图,详情见:
https://www.hhai.cc/thread-209-1-1.html
....更多实例积累中... |
|