昊虹君 发表于 2023-1-7 09:05

使用Python的Matplotlib库绘制图形的实例积累

使用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()
运行结果如下:
http://pic1.hhai.cc/pic1/2023/2023-01/001/07.png

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()
运行结果如下:
http://pic1.hhai.cc/pic1/2023/2023-01/001/17.png
                                          
http://pic1.hhai.cc/pic1/2023/2023-01/001/18.png


03-绘制以某个一维数组的索引为横坐标,具体的值为纵坐标的曲线
import numpy as np
import matplotlib.pyplot as plt

A1 = np.array(, dtype='uint8')

plt.plot(A1)
plt.show()
运行结果如下图所示:
http://pic1.hhai.cc/pic1/2023/2023-01/001/08.png
从上面的运行结果可以清楚的看出,横坐标的确就是索引值,而纵坐标就是索引对应的元素的值。

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([,
            ], 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()
运行结果如下:
http://pic1.hhai.cc/pic1/2023/2023-01/001/19.png
                                          
http://pic1.hhai.cc/pic1/2023/2023-01/001/20.png
                                          
http://pic1.hhai.cc/pic1/2023/2023-01/001/21.png
从上面的结果可以看出:
如果颜色空间不带后缀“_r”,则值越大,颜色越深;
如果颜色空间带后缀“_r”,则值越大,颜色越浅。

利用plt.imshow()可以帮助我们轻松绘制出图像的H-S二维直方图,详情见:
https://www.hhai.cc/thread-209-1-1.html


....更多实例积累中...
页: [1]
查看完整版本: 使用Python的Matplotlib库绘制图形的实例积累