2012-10-25 24 views
1

在Matlab中繪製完成後,我們執行caxis(max(caxis()) - [0.5, 0])將顏色限制從當前的最大顏色限制縮放到比此最大值低0.5的位置。這是可行的,因爲Matlab中的caxis()都獲取並設置顏色限制。在matplotlib中如何做到這一點?如何獲得matplotlib中的當前繪圖的上升

也就是說,我要實現以下目標:訴諸arr

import numpy.random, numpy, pylab 
arr = numpy.random.randn(100,100) 
pylab.figure() 
pylab.imshow(arr) 
pylab.colorbar() 
pylab.clim([numpy.max(arr.ravel())-0.5, numpy.max(arr.ravel())]) # [*] 
pylab.show() 

沒有帶星號的呼叫pylab.clim(),陣列被繪製。換句話說,我怎樣才能在matplotlib中獲得當前數字的「攀升」?

回答

5

如果你沒有保持返回的圖像對象,你可以使用pylab.gci來獲取當前ScalarMappable(即不管當前顏色條會基於)。

從那裏,你只需要ScalarMappable對象的get_clim方法。

所以,你可以這樣做:

vmin, vmax = plt.gci().get_clim() 
1

發現顯示我的方式2006年的郵件列表的對話:

im = pylab.imshow(arr) 
pylab.clim(im.norm.vmax - numpy.array([0.5, 0])) 
相關問題