在 Matlab 中绘图后,我们执行 caxis(max(caxis()) - [0.5, 0])
将颜色限制从当前最大颜色限制缩放到比方说 0.5 以下这个最大值这是有效的,因为 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()
关于python - 如何在 matplotlib 中获取当前图的 clim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13060450/