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中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
Python numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
python3监控CentOS磁盘空间脚本
Jun 21 Python
详解python3中tkinter知识点
Jun 21 Python
python实现求两个字符串的最长公共子串方法
Jul 20 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
python爬取微信公众号文章的方法
Feb 26 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
新手常见Python错误及异常解决处理方案
Jun 18 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
一个数据采集类
2007/02/14 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
[03:57]DOTA2英雄梦之声_第03期_幻影刺客
2014/06/21 DOTA
[00:02]DOTA2新版本使用PA至宝后暴击展示
2014/11/19 DOTA
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
Python中类的初始化特殊方法
2017/12/01 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
美国钻石商店:Zales
2016/11/20 全球购物
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
车间主管岗位职责
2013/11/14 职场文书
办公室内勤岗位职责范本
2013/12/09 职场文书
教导主任个人总结
2015/03/03 职场文书
禁毒主题班会教案
2015/08/14 职场文书