繁体   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