切换视频源:

Image 图片

作者: Hao 编辑: 莫烦 2016-11-03

学习资料:

随机矩阵画图

这一节我们讲解怎样在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)

今天做出的图像就是这个样子:

Image 图片

三行三列的格子,a代表每一个值,图像右边有一个注释,白色代表值最大的地方,颜色越深值越小。

下面我们来看代码:

plt.imshow(a, interpolation='nearest', cmap='bone', origin='lower')

我们之前选cmap的参数时用的是:cmap=plt.cmap.bone,而现在,我们可以直接用单引号传入参数。 origin='lower'代表的就是选择的原点的位置。

出图方式

我们在这个链接 可以看到matplotlib官网上对于内插法的不同方法的描述。下图是一个示例:

Image 图片

这里我们使用的是内插法中的 Nearest-neighbor 的方法,其他的方式也都可以随意取选。

colorbar

下面我们添加一个colorbar ,其中我们添加一个shrink参数,使colorbar的长度变短为原来的92%:

plt.colorbar(shrink=.92)

plt.xticks(())
plt.yticks(())
plt.show()

这样我们2D图像就创建完毕了。

Image 图片

分享到: Facebook 微博 微信 Twitter
如果你觉得这篇文章或视频对你的学习很有帮助, 请你也分享它, 让它能再次帮助到更多的需要学习的人. 莫烦没有正式的经济来源, 如果你也想支持 莫烦Python 并看到更好的教学内容, 赞助他一点点, 作为鼓励他继续开源的动力.

支持 让教学变得更优秀