我想创建一张伪彩色图(比如contour
或者contourf
),并加上一个颜色条。出于实际需要,我希望颜色条的范围与底部映射不同。
在下面的例子中,数据Z的范围是从0到10000,被映射到了一种颜色。颜色条的范围也是相同的。
import numpy
from matplotlib import pyplot
X = numpy.arange(100)
Y = numpy.arange(100)
Z = numpy.arange(100**2).reshape((100,100))
f = pyplot.figure()
ax = f.gca()
cf = ax.contourf(X,Y,Z,100)
cbar = f.colorbar(cf, ticks=[3000,4000,5000,6000])
pyplot.show()
现在,我想要“放大”色条,即生成一个范围从3000到6000的色条。这个新的色条仍然应该作为图例,并且为每个刻度给出正确的颜色(3000 = 蓝色,6000 = 黄色)。cbar.set_clim()
和cf.set_clim()
都不能实现这一点。
__dict__
、help
和type
来探索一下代码。 - tacaswell