如何在matplotlib中获得当前情节的攀升

Ahm*_*sih 2 python matlab numpy matplotlib

在Matlab中绘制之后,我们caxis(max(caxis()) - [0.5, 0])会将颜色限制从当前的最大颜色限制缩放到比此最大值低0.5.这是有效的,因为caxis()在Matlab中获取和设置颜色限制.如何在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()
Run Code Online (Sandbox Code Playgroud)

带星号的呼叫到pylab.clim()求助于arr,所述阵列被绘制.换句话说,如何在matplotlib中获得当前数字的"攀升"?

Joe*_*ton 6

如果您没有保留返回的图像对象,则可以使用pylab.gci获取当前的ScalarMappable(即当前颜色条所基于的任何内容).

从那里,您只需要get_climScalarMappable对象的方法.

所以,你可以这样做:

vmin, vmax = plt.gci().get_clim()
Run Code Online (Sandbox Code Playgroud)