我想创建一个伪彩色图(例如contour
or 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()
做到这一点。