在Python中使用clabel和contourf扭曲的情节

时间:2017-11-15 19:28:38

标签: python matplotlib

我有一个来自contourf的图像,如下所示:

它是由以下代码片段构成的:

fig = plt.figure()
Z = uavg_lon[:,1,:].transpose()
plt.title('ERA-interim 100hpa U average in [-20,20]',fontsize=16)
c0 = plt.contourf( lon , range(4*12) , Z , cmap = cm.bwr , levels = 
range(-25,30,5))
#plt.clabel(c0, fmt='%2d', inline=True)
plt.xlim([-180,180])
plt.xlabel('longitude',fontsize=14)
plt.xticks(np.arange(-180,180+30,30),fontsize=14)
plt.yticks(monthlabellocs,monthlabels,fontsize=14)
plt.ylim([0,48])
plt.xlim([-180,180])
fig.set_size_inches(8,10)
fn = 'hovmol_100u.pdf'
fig.savefig(fn , format='pdf' , bbox_inches='tight')

当我尝试使用clabel添加轮廓标签时(通过取消注释注释行),我得到了这个:

我找不到任何描述此问题的在线示例。发生了什么,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我可能是错的,但我认为在由contourf()返回的对象上调用clabel()并不是最好的主意。 Documentation

  

在cs中的线轮廓上添加标签,其中cs是由contour()返回的ContourSet对象。

您能代替尝试在轮廓线f()之后为所需的特定轮廓调用轮廓线(contour),然后在由轮廓线()返回的对象上调用clabel()吗?