[英]How to get current plot's clim in matplotlib
在Matlab中繪制后,我們執行caxis(max(caxis()) - [0.5, 0])
來縮放顏色限制,以將顏色限制從當前的最大顏色限制擴展到該最大值以下的0.5。 之所以caxis()
是因為Matlab中的caxis()
既獲取並設置了顏色限制。 如何在matplotlib中做到這一點?
也就是說,我要實現以下目標:
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()
的星號調用可以求助於arr
,可以繪制數組。 換句話說,如何在matplotlib中獲取當前圖形的“ clim”?
如果沒有保留返回的圖像對象,則可以使用pylab.gci
獲取當前的ScalarMappable(即,當前顏色條將基於的內容)。
從那里開始,您只需要ScalarMappable對象的get_clim
方法。
所以,你可以這樣做:
vmin, vmax = plt.gci().get_clim()
找到了2006年郵件列表對話,向我展示了方法:
im = pylab.imshow(arr)
pylab.clim(im.norm.vmax - numpy.array([0.5, 0]))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.