簡體   English   中英

如何在matplotlib中獲取當前圖的爬升

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM