4
我想創建一個僞彩色繪圖(例如contour
或contourf
)和一個顏色條。出於實際原因,我希望顏色條的範圍與底層的可映射不同。在不改變實際繪圖的情況下在matplotlib色條上設置限制
在下面的示例中,數據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()
都不能完成此操作。
感謝您的回答。你介意解釋一下cbar.outline.set_ydata()的作用嗎? – Jan
@Jan見編輯。在交互式會話中運行此代碼,並使用'__dict__','help'和'type'來稍微探索代碼。 – tacaswell