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基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
详解python单元测试框架unittest
Jul 02 Python
Python正则表达式匹配数字和小数的方法
Jul 03 Python
详解Python是如何实现issubclass的
Jul 24 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
python图片二值化提高识别率代码实例
Aug 24 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 Python
Python 使用Opencv实现目标检测与识别的示例代码
Sep 08 Python
python des,aes,rsa加解密的实现
Jan 16 Python
Python OpenCV超详细讲解基本功能
Apr 02 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
PHP的变量总结 新手推荐
2011/04/18 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
python实现视频分帧效果
2019/05/31 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
Python笔试面试题小结
2019/09/07 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
通信研究生自荐信
2014/02/01 职场文书
安全保证书范文
2014/04/29 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android