Python matplotlib的使用并自定义colormap的方法


Posted in Python onDecember 13, 2018

0.前言

添加colormap的对象是灰度图,可以变成热量图,从而更加明显的发现一些规律,适用于一些雷达图像等

from PIL import Image
# 将彩色图片转换成黑白图片
im=Image.open("./pic.jpg").convert('L')
# 保存图片
im.save("image.jpg")

1.从灰色图片中读取数据,转换成colormap图

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib as mpl
from PIL import Image
import numpy as np

# 自定义colormap
def colormap():
  return mpl.colors.LinearSegmentedColormap.from_list('cmap', ['#FFFFFF', '#98F5FF', '#00FF00', '#FFFF00','#FF0000', '#8B0000'], 256)

# 读取灰度图
data=mpimg.imread('./gray.jpg')
# 如果需要固定colorbar的范围,可以设置参数vmin,vmax,具体参考
                 #http://matplotlib.org/api/image_api.html

# 设定每个图的colormap和colorbar所表示范围是一样的,即归一化 
plt.imsave('colormap.jpg',data, cmap=colormap())

这里没有显示出来colorbar的数值分布,得到的图像是等大的

2.从txt文本中读取二维数据,转换成自定义colormap图

#python 3
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.colors as colors


# load data
def loaddata(i): # 文件编号
  path = './input/data/trainPingliu/trainPingliu%d.txt' % i
  data = np.loadtxt(path)
  return data


# 生成图片格式自定义
def colormap():
  # 白青绿黄红
  cdict = ['#FFFFFF', '#9ff113', '#5fbb44', '#f5f329', '#e50b32']
  # 按照上面定义的colordict,将数据分成对应的部分,indexed:代表顺序
  return colors.ListedColormap(cdict, 'indexed')


# for i in range(1, 10000):
# 加载数据
data = loaddata(1)
fig = plt.figure()
# 加载图片设置
my_cmap = colormap()

# 第一个子图,按照默认配置
ax = fig.add_subplot(221)
ax.imshow(data)

# 第二个子图,使用api自带的colormap
ax = fig.add_subplot(222)
cmap = mpl.cm.bwr # 蓝,白,红
ax.imshow(data, cmap=cmap)

# 第三个子图增加一个colorbar
ax = fig.add_subplot(223)
cmap = mpl.cm.winter # 冬季风格
im = ax.imshow(data, cmap=my_cmap)
plt.colorbar(im) # 增加colorbar

# 第四个子图可以调整colorbar
ax = fig.add_subplot(224)
cmap = mpl.cm.rainbow
# 这里设置colormap的固定值
norm = mpl.colors.Normalize(vmin=-1, vmax=1)
im=ax.imshow(data,cmap=cmap)
plt.colorbar(im,cmap=cmap, norm=norm,ticks=[-1,0,1])


# 显示
plt.show()

以上这篇Python matplotlib的使用并自定义colormap的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python对两个有序列表进行合并和排序的例子
Jun 13 Python
python之import机制详解
Jul 03 Python
Python连接DB2数据库
Aug 27 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
python实现俄罗斯方块游戏
Mar 25 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
opencv python 图像去噪的实现方法
Aug 31 Python
Python利用递归实现文件的复制方法
Oct 27 Python
Python使用ctypes调用C/C++的方法
Jan 29 Python
python 提取文件指定列的方法示例
Aug 07 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 Python
python实现给scatter设置颜色渐变条colorbar的方法
Dec 13 #Python
matplotlib实现热成像图colorbar和极坐标图的方法
Dec 13 #Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 #Python
python用plt画图时,cmp设置方法
Dec 13 #Python
python reverse反转部分数组的实例
Dec 13 #Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 #Python
python将list转为matrix的方法
Dec 12 #Python
You might like
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
PHP-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
两个Javascript小tip资料
2010/11/23 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
vue debug 二种方法
2018/09/16 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
python动态加载包的方法小结
2016/04/18 Python
详解python 发送邮件实例代码
2016/12/22 Python
python GUI实例学习
2017/11/21 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
Django 解决开发自定义抛出异常的问题
2020/05/21 Python
市场营销专业毕业生自荐信
2013/11/02 职场文书
简历中自我评价范文3则
2013/12/14 职场文书
酒店副总经理岗位职责范本
2014/02/04 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
庆七一宣传标语
2014/10/08 职场文书
个人培训总结
2015/03/05 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书