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 strip lstrip rstrip使用方法
Sep 06 Python
python获取元素在数组中索引号的方法
Jul 15 Python
python语言使用技巧分享
May 31 Python
python编程实现归并排序
Apr 14 Python
TensorFlow打印tensor值的实现方法
Jul 27 Python
python 异或加密字符串的实例
Oct 14 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
详解python--模拟轮盘抽奖游戏
Apr 12 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
python实现大学人员管理系统
Oct 25 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
详解python中的闭包
Sep 07 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 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
在PHP中使用curl_init函数的说明
2010/11/02 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
Python中模块string.py详解
2017/03/12 Python
Python下简易的单例模式详解
2019/04/08 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
实例详解Python装饰器与闭包
2019/07/29 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
python实现自动打卡的示例代码
2020/10/10 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
办公室主任先进事迹
2014/01/18 职场文书
婚庆公司的创业计划书
2014/01/22 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
Python selenium的这三种等待方式一定要会!
2021/06/10 Python