Matplotlib是Python最著名的2D繪圖庫,該庫仿造Matlab提供了一整套相似的繪圖函數,用於繪圖和繪表,強大的數據可視化工具和做圖庫,適合交互式繪圖,圖形美觀。
imshow:熱圖(heatmap)是數據分析的常用方法,通過色差、亮度來展示數據的差異、易於理解。Python在Matplotlib庫中,調用imshow()函數實現熱圖繪制。
imshow 參數及其默認值
plt.imshow( X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, *, data=None, **kwargs, )
參數:X
-
圖像數據。支持的數組形狀是:
- (M,N) :帶有標量數據的圖像。數據可視化使用色彩圖。
- (M,N,3) :具有RGB值的圖像(float或uint8)。
- (M,N,4) :具有RGBA值的圖像(float或uint8),即包括透明度。
前兩個維度(M,N)定義了行和列圖片,即圖片的高和寬;
RGB(A)值應該在浮點數[0, ..., 1]的范圍內,或者
整數[0, ... ,255]。超出范圍的值將被剪切為這些界限。
參數:cmap
- 將標量數據映射到色彩圖
- 顏色默認為:rc:
image.cmap。
參數:norm :~matplotlib.colors.Normalize
- 如果使用scalar data ,則Normalize會對其進行縮放[0,1]的數據值內。
- 默認情況下,數據范圍使用線性縮放映射到顏色條范圍。 RGB(A)數據忽略該參數。
參數:aspect
- {'equal','auto'}或float,可選
- 控制軸的縱橫比。該參數可能使圖像失真,即像素不是方形的。
- equal:確保寬高比為1,像素將為正方形。(除非像素大小明確地在數據中變為非正方形,坐標使用 extent )。
- auto: 更改圖像寬高比以匹配軸的寬高比。通常,這將導致非方形像素。
參數:interpolation
- str
- 使用的插值方法
- 支持的值有:'none', 'nearest', 'bilinear', 'bicubic','spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser',
'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc','lanczos'. - 如果interpolation = 'none',則不執行插值
參數:alpha
- alpha值,介於0(透明)和1(不透明)之間。RGBA輸入數據忽略此參數。
參數:vmin, vmax : scalar,
- 如果使用* norm 參數,則忽略 vmin , vmax *。
- vmin,vmax與norm結合使用以標准化亮度數據。
參數:origin : {'upper', 'lower'}
- 將數組的[0,0]索引放在軸的左上角或左下角。
- 'upper'通常用於矩陣和圖像。
- 請注意,垂直軸向上指向“下”但向下指向“上”。
參數:extent:(left, right, bottom, top)
- 數據坐標中左下角和右上角的位置。 如果為“無”,則定位圖像使得像素中心落在基於零的(行,列)索引上。
導入包
import matplotlib.pyplot as plt import matplotlib.image as mpimg import numpy as np
展示原圖
img=mpimg.imread('2019062107.png')
imgplot = plt.imshow(img)
效果
2019062108.png
處理1
plt.imshow(img[:,:,0], cmap="hot")
2019062109.png
處理 2
plt.imshow(img, interpolation="bicubic")
2019062110.png
原文:https://www.jianshu.com/p/694afb0db7d5
