本篇文章為大家展示了matplotlib怎么在Python中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都地區優秀IDC服務器托管提供商(成都創新互聯公司).為客戶提供專業的成都服務器托管,四川各地服務器托管,成都服務器托管、多線服務器托管.托管咨詢專線:189820811081.從灰色圖片中讀取數據,轉換成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()
上述內容就是matplotlib怎么在Python中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。
當前標題:matplotlib怎么在Python中使用-創新互聯
文章網址:http://vcdvsql.cn/article4/gigie.html
成都網站建設公司_創新互聯,為您提供建站公司、商城網站、微信公眾號、關鍵詞優化、自適應網站、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯