matplotlib模块数据可视化-图片处理

来源:互联网 发布:nike手机抢购软件 编辑:程序博客网 时间:2024/06/06 03:02

1 根据数据绘制图样到画布

1.1 源码

import numpy as npimport matplotlib.pyplot as pltfig = 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 npimport 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图片