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 返回汉字的汉语拼音
Feb 27 Python
快速实现基于Python的微信聊天机器人示例代码
Mar 03 Python
使用Python实现博客上进行自动翻页
Aug 23 Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 Python
详解Python如何生成词云的方法
Jun 01 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
python 读取文件并替换字段的实例
Jul 12 Python
Python中Numpy mat的使用详解
May 24 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
基于Python的图像阈值化分割(迭代法)
Nov 20 Python
用Python写一个简易版弹球游戏
Apr 13 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
DC动漫人物排行
2020/03/03 欧美动漫
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
Python简单操作sqlite3的方法示例
2017/03/22 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
Python实现仿射密码的思路详解
2020/04/23 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
Python将字典转换为XML的方法
2020/08/01 Python
css3 2D图片转动样式可以扩充到Js当中
2014/04/29 HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
如何安装ruby on rails
2014/02/09 面试题
求职信的要素有哪些呢
2013/12/26 职场文书
省优秀教师事迹材料
2014/01/30 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
郭明义观后感
2015/06/08 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
深入理解go缓存库freecache的使用
2022/02/15 Golang