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

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图片





  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值