运行颤动不一定返回可映射对象,它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