Thanks to all Matplotlib experts for extending help,
 With the suggestions I could make the script work and I am close to the target 
I had in mind, 
Below script produces as depth longitude contou-filled plot.
However I have below concerns,
1) There is a wide gap between label and the contours ie  it appears like 
------     2.4      ......... is there a way to reduce this gap?
2) The labels are appearing cluttered at about 100m depth though they culd have 
spread apart at each level. Is there a way to control their placing to avoid 
cluttering?
3) Is there a way to make the longitude as in case of maps ie can the x axis 
labels be 50E 60E ... 90E
I am not sure if I am too much ambitious with regard to matplotlib, but I was 
using ferret where it takes care of the labeling.
with best regards,
Sudheer 
from matplotlib import pyplot as plt
from netCDF4 import Dataset
import numpy as np
url='http://www.marine.csiro.au/dods/nph-dods/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc'
ds = Dataset(url)
temp = ds.variables['TEMP']
lats = ds.variables['lat']
lons = ds.variables['lon']
depths = ds.variables['z']

# filter depths
dmin = np.where(depths[:] == 0.)[0][0]
dmax = np.where(depths[:] == 1000)[0][0]
# filter all but one latitude
lat_index = np.where(lats[:] == 0.5)[0][0]
lats = lats[lat_index]
# filter a range of longitudes
lon_lower_index = np.where(lons[:] == 44.5)[0][0]
lon_upper_index = np.where(lons[:] == 95.5)[0][0]
lons = lons[lon_lower_index:lon_upper_index]
depths=depths[dmin:dmax]
temp = temp[0,dmin:dmax, lat_index, lon_lower_index:lon_upper_index]
#plt.pcolormesh(lons,depths, temp)
nx,ny=np.meshgrid(lons,depths)
clevs=np.arange(temp.min(),temp.max()+2,temp.std()/5)
norm = plt.cm.colors.Normalize(vmax=abs(temp).max(), vmin=-abs(temp).max())
cmap = plt.cm.gist_rainbow_r 
plt.figure()
cs1=plt.contourf(nx,ny,temp, clevs,cmap=plt.cm.get_cmap(cmap, len(clevs)-1))
cs2=plt.contour(nx,ny,temp, cs1.levels,colors = 'k',linewidth=2,hold='on')
plt.clabel(cs2,inline=True, fmt='%1.1f', fontsize=18)
cb = plt.colorbar(cs1,pad=.02) #(location='right')#,size="5%", pad='2%')
plt.gca().invert_yaxis()
plt.show()
 
***************************************************************
Sudheer Joseph 
Indian National Centre for Ocean Information Services
Ministry of Earth Sciences, Govt. of India
POST BOX NO: 21, IDA Jeedeemetla P.O.
Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
E-mail:sjo.in...@gmail.com;sudheer.jos...@yahoo.com
Web- http://oppamthadathil.tripod.com
***************************************************************


________________________________
 From: Jody Klymak <jkly...@uvic.ca>
To: Sudheer Joseph <sudheer.jos...@yahoo.com> 
Cc: "Matplotlib-users@lists.sourceforge.net" 
<matplotlib-users@lists.sourceforge.net> 
Sent: Tuesday, 5 March 2013 2:10 AM
Subject: Re: [Matplotlib-users] depth longitude plot
 


Hi Sudheer,

You want contourf.

http://matplotlib.org/examples/pylab_examples/contour_image.html

Cheers,  Jody


On Mar 4, 2013, at  9:04 AM, Sudheer Joseph <sudheer.jos...@yahoo.com> wrote:

Hi Benamin,
>I was looking for a plot similar to the attached one named ferret.gif. But 
>from matplot lib I get flat fill and contours which are not aligned to the 
>levels ( named figure_1.png , it looks like matplotlib has just flat surfaces 
>as it used pcolor.
>
>
>with best regards,
>Sudheer
>
>
>From:Sudheer Joseph <sudheer.jos...@yahoo.com>
>
>To: Benjamin Root <ben.r...@ou.edu> 
>Cc: "Matplotlib-users@lists.sourceforge.net" 
><matplotlib-users@lists.sourceforge.net> 
>Sent: Monday, 4 March 2013 8:19 PM
>Subject: Re: [Matplotlib-users] depth longitude plot
> 
>
>Thank you,
>                       I just posted this question in numpy lists thinking 
>that it is possible after regriding the data to new axes. 
>Thanks for the help.
>with best regards,
>Sudheer
> 
>***************************************************************
>Sudheer Joseph 
>Indian National Centre for Ocean Information Services
>Ministry of Earth Sciences, Govt. of India
>POST BOX NO: 21, IDA Jeedeemetla P.O.
>Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000
 55
>Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
>Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
>E-mail:sjo.in...@gmail.com;sudheer.jos...@yahoo.com
>Web- http://oppamthadathil.tripod.com
>***************************************************************
>
>
>________________________________
> From: Benjamin Root <ben.r...@ou.edu>
>To: Sudheer Joseph <sudheer.jos...@yahoo.com> 
>Cc: Phil Elson <pelson....@gmail.com>; 
>"Matplotlib-users@lists.sourceforge.net" 
><matplotlib-users@lists.sourceforge.net> 
>Sent: Monday, 4 March 2013 7:53 PM
>Subject: Re: [Matplotlib-users] depth longitude plot
> 
>
>
>
>
>On Sat, Mar 2, 2013 at 6:35 AM, Sudheer Joseph <sudheer.jos...@yahoo.com> 
>wrote:
>
>Hi Phil,
>>
>>
>>Though iris looked to be promising it needed many other libraries, so I chose 
>>the below suggestion. But is there a way to overlay contours on this ? also 
>>is it possible to specify the levels?
>>In [23]: plt.pcolormesh?? did not give much help
>>
>>with best regards,
>>Sudheer
>
>You can overlay contours on the pcolormesh image by simply using the 
>plt.contour() function after the pcolormesh() call.  It allows you to control 
>which levels to contour and you can specify the attributes of those contours 
>like the color or thickness.  Note that unlike Matlab, you don't have to call 
>"hold on" between plots.  By default, matplotlib will hold.
>
>I hope that helps!
>Ben Root
>
>
>
>------------------------------------------------------------------------------
>Everyone hates slow websites. So do we.
>Make your web apps faster with AppDynamics
>Download AppDynamics Lite for free today:
>http://p.sf.net/sfu/appdyn_d2d_feb
>_______________________________________________
>Matplotlib-users mailing list
>Matplotlib-users@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
><ferret.gif><figure_1.png>------------------------------------------------------------------------------
>Everyone hates slow websites. So do we.
>Make your web apps faster with AppDynamics
>Download AppDynamics Lite for free today:
>http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________
>Matplotlib-users mailing list
>Matplotlib-users@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>

--
Jody Klymak    
http://web.uvic.ca/~jklymak/
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to