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