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 相关文章推荐
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
Jan 19 Python
Python实现把数字转换成中文
Jun 29 Python
Python实现文件按照日期命名的方法
Jul 09 Python
Python的Django框架下管理站点的基本方法
Jul 17 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
python类中super() 的使用解析
Dec 19 Python
Python计算公交发车时间的完整代码
Feb 12 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
详解python3 GUI刷屏器(附源码)
Feb 18 Python
python APScheduler执行定时任务介绍
Apr 19 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程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
JavaScript学习笔记之JS函数
2015/01/22 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
python 常见字符串与函数的用法详解
2018/11/23 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
详解【python】str与json类型转换
2019/04/29 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
苹果美国官方商城:Apple美国
2016/08/24 全球购物
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
物业管理专业个人的自我评价
2013/11/19 职场文书
销售辞职报告范文
2014/01/12 职场文书
学习决心书范文
2014/03/11 职场文书
教师专业自荐信
2014/05/31 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
长城英文导游词
2015/01/30 职场文书
小学大队长竞选稿
2015/11/20 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js