<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
PS: 傳送門——自定義Colorbars教學
參考:Customized Colorbars Tutorial
api example code: colorbar_only.py
自定義colorbar可以畫出任何自己想要的colorbar,自由自在、不受約束,不依賴於任何已有的圖(plot/mappable)。這裡使用的是mpl.colorbar.ColorbarBase類,而colorbar類必須依賴於已有的圖。
關於該類的引數如下 (該類引數描述沒找到,部分引數的取值可參考colorbar中的描述):
class matplotlib.colorbar.ColorbarBase(ax, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation=‘vertical’, ticklocation=‘auto’, extend=‘neither’, spacing=‘uniform’, ticks=None, format=None, drawedges=False, filled=True, extendfrac=None, extendrect=False, label=’’)[source]
引數簡單描述ax :可用於設定colorbar的位置、長、寬
norm :用於規範化–設定顏色條最大最小值
cmap:顏色(可參考本篇博文的最後部分——推薦色帶與自定義色帶)
boundaries:要想使用extend,在norm之外,必須要有兩個額外的boundaries
orientation:colorbar方向,躺平or垂直
extend:延伸方向(在norm之外colorbar可延伸)
ticks:自定義各段的tick(記號)
下面是一個例子,可以自己試試調整各項引數:
import numpy as np import pylab as plt import matplotlib as mpl if __name__ == '__main__': fig = plt.figure(figsize=(3, 8)) cmap = mpl.cm.Spectral_r ax3 = fig.add_axes([0.3, 0.2, 0.2, 0.5]) # 四個引數分別是左、下、寬、長 norm = mpl.colors.Normalize(vmin=1.3, vmax=2.5) bounds = [ round(elem, 2) for elem in np.linspace(1.3, 2.5, 14)] # cb3 = mpl.colorbar.ColorbarBase(ax3, cmap=cmap, norm=norm, # to use 'extend', you must # specify two extra boundaries: boundaries= [1.2] + bounds + [2.6], extend='both', ticks=bounds, # optional spacing='proportional', orientation='vertical') plt.show()
contour和contourf分別繪製輪廓線和填充輪廓線。兩個版本的函數簽名和返回值是相同的。關於兩者畫圖的一些範例可以參閱python matplotlib contour畫等高線圖,以及matplotlib中文檔案
contourf([X, Y,] Z, [levels], **kwargs) # [ ]表示該引數是可選的——可以給定也可以不給定
contourf中的基本引數:
X, Y : array-like, optional
contourf引數中X和Y都必須是二維的,形狀與Z相同(例如,通過numpy.meshgrid建立);或者都必須是一維的,這樣len(X) == M是Z中的列數,len(Y) == N是Z中的行數。
如果沒有給定,則假設它們是整數索引,即X = range(M), Y = range(N)。Z : array-like(N, M)
繪製輪廓線的高度值。
levels : int or array-like, optional
確定等高線/區域的數量和位置。
如果是int n,則使用n個資料間隔;即畫n+1條等高線。水平高度是自動選擇的。
如果類似陣列,則在指定的級別上繪製等高線。這些值必須是遞增的。
參考:Matplotlib 2 Subplots, 1 Colorbar
在有圖的情況下,為所有子圖新增一個colorbar:
import numpy as np import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=2, ncols=2) for ax in axes.flat: im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1) fig.subplots_adjust(right=0.8) cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7]) fig.colorbar(im, cax=cbar_ax) plt.show()
在畫圖的時候,可以用推薦色帶。在Contourf 與記錄顏色刻度中,發現contourf中有cmap引數,cmap即是色帶。cmap的值可以參考Colormap reference。
下面這段程式碼來自Contourf 與記錄顏色刻度
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r) # PuBu_r是PuBu色帶的倒轉 cbar = fig.colorbar(cs)
其中cmap就是使用matplotlib提供的色帶,如果要自己制定色帶可以用引數colors如下:
# Colors是一些自選顏色列表 Colors=('#DDDDFF','#7D7DFF','#0000C6','#000079','#CEFFCE','#28FF28','#007500','#FFFF93','#8C8C00','#FFB5B5','#FF0000','#CE0000','#750000') cs=m.contourf(xi, yi, z, colors=Colors, levels=levels, extend='both') # 這裡m是一個basemap範例
在cmap中提供了一些預設色帶:
到此這篇關於python matplotlib自定義colorbar顏色條及內建色條的文章就介紹到這了,更多相關matplotlib自定義colorbar顏色條內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45