转自:http://blog.csdn.net/u014540876/article/details/79331341
今天遇到一个绘制图像的函数:ax.plot(xMat),其中的参数是Mat类型的,然后就查了不少资料,却没有找到一篇解释这种情况的文章,颇费了些功夫,最终才明白绘制出的图像与参数xMat的关系。特地在此记录一下,也让自己记得更牢固。
一、当参数xMat是m*1的矩阵时
xMat = np.mat([[1],[2],[4],[7],[5],[0]])
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(xMat)
plt.show()
以上代码的结果为:
解释一下。当xMat是m*1的矩阵时,图像的横坐标是第一维子元素的索引值,从0开始计起,也就是[1]、[2]、[4]、[7]、[5]和[0]的索引值,分别对应0、1、2、3、4和5
纵坐标是矩阵中位置在(0,0),(1,0),(2,0),(3,0),(4,0),(5,0)处的值。于是,在此构成了6个点,然后用线段直接连接起来,构成图像。
二、当参数xMat是m*n的矩阵时
xMat = np.mat([[1,2,4],[3,4,2],[1,3,5]])
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(xMat)
plt.show()
以上代码的结果为:
解释一下。当xMat是m*n的矩阵时,图像会有n条连续的图像,
当我们把 [[1,2,4],[3,4,2],[1,3,5]]
看成是由[ [1], [3], [1] ]
[ [2], [4], [3] ]和
[ [4], [2], [5] ]
组合而形成时,就变成了相对应的m*1类型的三条图像。(把每一列看做是一条线段的数据!!!)
--------------------- 本文来自 熙来攘往 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u014540876/article/details/79331341?utm_source=copy