運行顫動不一定返回可映射對象,它colorbar()
需要的類型。我認爲這可能是因爲我明確地「根據另一個標量量化了矢量場」,就像Heimdall所說的那樣。因此,胡克德的回答對我來說並不合適。
我必須創建我自己的顏色欄可讀的映射。我這樣做是通過使用Normalize
從matplotlib.colors
上的數據,我想用上色我顫抖載體(我會打電話給C
,這是同形狀的數組作爲X
,Y
,U
和V
。)
我顫抖調用如下:
import matplotlib.pyplot as pl
import matplotlib.cm as cm
import matplotlib.colors as mcolors
import matplotlib.colorbar as mcolorbar
pl.figure()
nz = mcolors.Normalize()
nz.autoscale(C)
pl.quiver(X, Y, U, V, color=cm.jet(nz(C)))
cax,_ = mcolorbar.make_axes(pl.gca())
cb = mcolorbar.ColorbarBase(cax, cmap=cm.jet, norm=nz)
cb.set_label('color data meaning')
給予任何其他參數的顏色條功能給了我各種各樣的錯誤。
哦,這是簡單的嗎?感謝您的回答!我很好奇:colorbar()如何知道要查看哪些數據?如果我想從objets的角度來看它是如何工作的? – MCF 2012-08-15 18:33:35
@Heimdall from the docs:「Image,ContourSet等顏色欄應用;該參數對於colorbar()方法是強制性的,但是對於colorbar()函數是可選的,它將默認設置爲當前圖像。 http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.colorbar。因此'colorbar'默認參數必須放入最新繪製的Artist中。該文檔還提供了一種更精細的控制哪個colorbar - > plot的方法。 – Hooked 2012-08-15 18:36:10