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中的__init__和__new__
Mar 12 Python
python根据时间生成mongodb的ObjectId的方法
Mar 13 Python
python中json格式数据输出的简单实现方法
Oct 31 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
Feb 03 Python
python opencv 直方图反向投影的方法
Feb 24 Python
Python 字符串转换为整形和浮点类型的方法
Jul 17 Python
python如何发布自已pip项目的方法步骤
Oct 09 Python
python 并发编程 非阻塞IO模型原理解析
Aug 20 Python
pytorch 图像中的数据预处理和批标准化实例
Jan 15 Python
python 命名规范知识点汇总
Feb 14 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
浅谈python3打包与拆包在函数的应用详解
May 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代码
2008/09/10 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
法学院方阵解说词
2014/01/29 职场文书
英语专业个人求职信范文
2014/02/01 职场文书
毕业实习评语
2014/02/10 职场文书
2015年中个人总结范文
2015/03/10 职场文书
离婚协议书范文2016
2016/03/18 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
Java 写一个简单的图书管理系统
2022/04/26 Java/Android