使用contourf

时间:2016-03-13 16:29:29

标签: python matplotlib matplotlib-basemap

我正在尝试使用matplotlib和底图在一系列中创建多个图像。基本上,我试图获取气象模型输出数据,并在每个时间步骤绘制它的情节。但是,我正在尝试有效地做到这一点,而不是清除图形并在每个时间步骤重绘所有内容(尤其是底图事物)。以下是相关代码。

basem = Basemap(llcrnrlon=setlats[1], llcrnrlat=setlats[0],
                       urcrnrlon=setlats[3], urcrnrlat=setlats[2], 
                       projection='mill', resolution='l')
    ...
x,y = basem(lons, lats)
basem.drawcoastlines()
parallels = np.arange(0.,92,10.)
basem.drawparallels(parallels,labels=[1,0,0,0],fontsize=10)
# draw meridians
meridians = np.arange(180.,360.,10.)
basem.drawmeridians(meridians,labels=[0,0,0,1],fontsize=10)
basem.drawstates()
basem.drawcountries()
cs = basem.contourf(x,y, plotted_var, levels=clevs, 
    cmap = plt.get_cmap(colorbar), extend="max")
cl = basem.contour(x,y, contoured_var, levels=clevsl, colors='k')
cb = basem.barbs(x[points],y[points], 
        barbs_var_u[points], barbs_var_v[points], 
        barbcolor='k',flagcolor='k', pivot='middle',
        length=4)

...
for time in range(time+1,maxt+1):
    timef = time
    plotted_var = multf(np.array(data2[var])[timef,\
            bounds[0]:bounds[1],bounds[2]:bounds[3]])
    if barbs >=0 or barbs ==-2:
        cb[0].set_UVC(barbs_var_u[points], barbs_var_v[points])
    cs.set_array(plotted_var)
    cl.set_array(contoured_var)
    ...

然而,虽然这会改变倒钩,但它不会改变轮廓(填充或未填充)。我很确定set_array不是我想要使用的命令,但是我深入研究并且找不到set_uvc等价物。另外,我也尝试过rave_grave_var和contoured_var,但也没有改变。注意:我只是尝试更新轮廓图的z分量(颜色),x和y需要保持不变。

0 个答案:

没有答案