1 根据数据绘制图样到画布
1.1 源码
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
# 表示把一个一维数组重新生成一个3行3列的二维数组
a = np.array([0.313660827978, 0.365348418405, 0.423733120134,
0.365348418405, 0.439599930621, 0.525083754405,
0.423733120134, 0.525083754405, 0.651536351379]).reshape(3,3)
# 常用参数
# cmap:颜色 plt.cm.bone = 'bone' 或者'rainbow'等 查看帮助->>>help(plt.cm)底部很多颜色可选,我并不知道什么意思
# aspect: ['auto' | 'equal' | scalar] auto:自动适应 equal:上下正常撑开 aspect=2:高和宽的比
# ----------------具体这么多值不知道具体解释,自行尝试吧
# interpolation:['none', 'nearest', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser','quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc','lanczos']
# nearest:间隔很明确
# bilinear:双线性变化 bicubic:三线性变化 目前没试出区别的样式
# ----------------
# origin:绘制方向,lower从下向上绘制,upper从上向下绘制
im = plt.imshow(a, interpolation='nearest', cmap='bone')
# 设置颜色条的位置
position = fig.add_axes([0.15, 0.05, 0.7, 0.03]) #位置[左,下,右,上]
# 添加颜色
# shrink:颜色条所占图片的比例
# orientation: 'horizontal' | 'vertical' 颜色条水平或竖直
# pad:边界大小0.0-1.0之间
# 设置cax后不能设置shrink和pad参数
plt.colorbar(im,cax=position,orientation='horizontal')
plt.show()
1.2 不设置plt.colorbar()的效果图
im = plt.imshow(a, interpolation='nearest', cmap='bone')不设置origin,默认自上往下绘制
im = plt.imshow(a, interpolation='nearest', cmap='bone',origin='lower')设置为自下向上绘制
1.3 设置plt.colorbar()颜色指示条
通过上面的两张图我们可以看出,只有图,不知道颜色所代表的值的变化,所以我们需要做一个额外的颜色指示条进行颜色和实际值的对比,所以我们用到plt.colorbar(im)来给im增加一个颜色条
1.3.1 plt.colorbar(im)示例图
1.3.2 plt.colorbar(im,orientation='horizontal')设置颜色条的位置和方向
position = fig.add_axes([0.15, 0.05, 0.7, 0.03])
plt.colorbar(im,orientation='horizontal',cax=position)
2 处理本地图片
2.1 源码
import numpy as np
import matplotlib.pyplot as plt
# 加载本地图片
img = plt.imread('xxx.png')
img = img[:,:,0]
plt.subplot(121)
# 把图片绘制到画布上
plt.imshow(img)
plt.subplot(122)
plt.imshow(img, cmap=plt.cm.get_cmap('winter'))
# plt.colorbar(orientation='horizontal')
plt.show()
2.2 效果图
2.3 本地的xxx.png图片