0 .前言
添加colormap的对象为灰度,成为热量图表,可以更明确地发现适合雷达图像等的规则
来自pil导入图像
#将彩色图像转换为黑白图像
im=Image.open('./pic.jpg ' ).convert ' ' )
#保存图像
im.save(image.jpg ) )。
1 .从灰色图像中读取数据,并转换为colormap地图
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
导入矩阵as mpl
来自pil导入图像
import numpy as np
#自定义colormap
def colormap () :
return mpl.colors.linearsegmentedcolormap.from _ list (' cmap )、['#FFFFFF、' #98F5FF、' #00FF00 )、# ffffffffffff
读取灰度
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
导入矩阵as mpl
importmatplotlib.colorsascolors
#加载数据
def加载数据(I ) : #文件编号
path='./input/data/trainpingliu/trainpingliu % d.txt ' % I
DATA=NP.loadtxt(path )
返回数据
#生成自定义图像格式
def colormap () :
#白青绿dcdxhd
cdict=['#FFFFFF '、' #9ff113 '、' #5fbb44 '、' #f5f329 '、' #e50b32']
按照#上定义的colordict,将数据按对应的部分、indexed :代表顺序划分
return colors.listed colormap (cdict,' indexed ' )。
# foriinrange (1,10000 ) :
#加载数据
数据=加载数据(1) )。
fig=plt.figure (
#加载图像设置
my_cmap=colormap ()
#第一个子图,遵循默认配置
ax=fig.add_subplot(221 )
ax.im show (数据) )。
#使用第二子图、api附带的colormap
ax=fig.add_subplot(222 )
cmap=mpl.cm.bwr #蓝色、白色、红色
ax.im show (数据,cmap=cmap ) )。
#向第三个子图添加颜色栏
ax=fig.add_subplot(223 )
cmap=mpl.cm.winter #冬季风格
im=ax.im show (数据,cmap=my_cmap ) )。
增加PLT.colorbar(im ) colorbar
#第四个子图可以调整颜色栏
ax=fig.add_subplot(224 ) )
cmap=mpl.cm.rainbow
#在此设定colormap的固定值
norm=mpl.colors.normalize (vmin=-1,vmax=1) )。
im=ax.im show (数据,cmap=cmap ) )。
PLT.colorbar(im,cmap=cmap,norm=norm,ticks=[-1,0,1 ]
#显示
plt.show () )
以上使用Python matplotlib自定义colormap的方法是编辑与大家共享的所有内容。 希望您能参考。 另外,我想支持编剧。