转载请注明:虚幻私塾 » Matplotlib Image 图片
随机矩阵画图
这一节我们讲解怎样在matplotlib中打印出图像。这里我们打印出的是纯粹的数字,而非自然图像。 我们今天用这样 3x3 的 2D-array 来表示点的颜色,每一个点就是一个pixel。
import matplotlib.pyplot as plt
import numpy as np
a = np.array([0.313660827978, 0.365348418405, 0.423733120134,
0.365348418405, 0.439599930621, 0.525083754405,
0.423733120134, 0.525083754405, 0.651536351379]).reshape(3,3)
今天做出的图像就是这个样子:
三行三列的格子,a代表每一个值,图像右边有一个注释,白色代表值最大的地方,颜色越深值越小。
下面我们来看代码:
plt.imshow(a, interpolation='nearest', cmap='bone', origin='lower')
我们之前选cmap的参数时用的是:cmap=plt.cmap.bone
,而现在,我们可以直接用单引号传入参数。 origin='lower'
代表的就是选择的原点的位置。
出图方式
我们在这个链接 可以看到matplotlib官网上对于内插法的不同方法的描述。下图是一个示例:
这里我们使用的是内插法中的 Nearest-neighbor 的方法,其他的方式也都可以随意取选。
colorbar
下面我们添加一个colorbar
,其中我们添加一个shrink
参数,使colorbar
的长度变短为原来的92%:
plt.colorbar(shrink=.92)
plt.xticks(())
plt.yticks(())
plt.show()
这样我们2D图像就创建完毕了。