draw contourf on top of continents with basemap?

Dear all,

I want to draw a contourf with the data covering N>45 (high latitude) using a ‘npstere’ projection.

The problem is if I draw continents with a gray color, (m.fillcontinents(color=‘0.5’))
the contourf lay which comes later will be below the continents and completely invisible.
Does anyone else have this and any suggestions?

thanks,

Chao

···


Chao YUE
Laboratoire des Sciences du Climat et de l’Environnement (LSCE-IPSL)
UMR 1572 CEA-CNRS-UVSQ
Batiment 712 - Pe 119
91191 GIF Sur YVETTE Cedex

Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16


Dear all,

I want to draw a contourf with the data covering N>45 (high latitude)
using a 'npstere' projection.

The problem is if I draw continents with a gray color,
(m.fillcontinents(color='0.5'))
the contourf lay which comes later will be below the continents and
completely invisible.
Does anyone else have this and any suggestions?

I think you will be able to solve this problem be setting the zorder of each patch collection in the object returned by the call to contourf, something like this:

CS = contourf(Z)
for col in CS.collections:
     col.set_zorder(2.5)

The default zorder for solids is 2, so I expect that is what the filled continents are; boosting the patch collections to 2.5 should ensure they are above the continents.

Eric

···

On 01/02/2012 08:36 AM, Chao YUE wrote:

thanks,

Chao
--
***********************************************************************************
Chao YUE
Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL)
UMR 1572 CEA-CNRS-UVSQ
Batiment 712 - Pe 119
91191 GIF Sur YVETTE Cedex
Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16
************************************************************************************