De Pauw Antoine wrote:
> Jeff,
>
> I still don't know how to either remove this artifact or fill my arrays with
> values to remove empty regions, and I'll make a last attempt to resolve it
>
> I uploaded a data file here: http://scqp.ulb.ac.be/20080821.b56
>
> The actual code snippet is here:
> http://snipplr.com/view/8307/map-plotting-python-code-temporary/
>
> I hope you'll be able to reproduce it, I set the cmap to winter for you to
> see the gap... setting it to hot will make the grayish border visible in
> high resolution by zooming it... I think the border (not the empty zone)
> could be an artifact with the hot colormap
>
>
> Antoine De Pauw
> Collaborateur de recherches, Informatique - Research collaborator, IT
> Laboratoire de chimie quantique et photophysique - Quantum chemistry and
> photophysics laboratory
> Université Libre de Bruxelles - ULB
>
>   

Antoine:  Here is a version that just plots the pixels directly, without 
interpolating to a grid.  I personally like this better, since you can 
easily see where you actually have data.

HTH,

-Jeff

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
import os
fileName = '20080821.b56'
titre='SO2'
legende='Delta Brightness Temperature (K)'
nbreligne=long(os.stat(fileName)[6])/(8*int(fileName[-2:]))
rawfile=np.fromfile(open(fileName,'rb'),'<d',-1)
Lat=rawfile[0:nbreligne]
Lon=rawfile[nbreligne:nbreligne*2]
Val=rawfile[nbreligne*21:nbreligne*22]
map=Basemap(projection='mill',llcrnrlat=-90,urcrnrlat=90,\
            urcrnrlon=180,llcrnrlon=-180,resolution='l')
x, y = map(Lon, Lat)
plt.scatter(x,y,s=25,c=Val,marker='s',edgecolor="None",cmap=plt.cm.winter,vmin=-5,vmax=-1.2,
 
alpha=0.5)
cb=plt.colorbar(shrink=0.6)
cb.ax.set_ylabel(legende,fontsize=11)
for t in cb.ax.get_yticklabels():
    t.set_fontsize(7)
meridians = np.arange(-180,180,60)
parallels = np.arange(-90,90,30)
map.drawparallels(parallels,labels=[1,0,0,0],fontsize=7,linewidth=0.25)
map.drawmeridians(meridians,labels=[0,0,0,1],fontsize=7,linewidth=0.25)
map.drawcoastlines(0.25,antialiased=1)
plt.title(titre)
plt.show()
> -----Original Message-----
> From: Jeff Whitaker [mailto:[EMAIL PROTECTED] 
> Sent: lundi 22 septembre 2008 13:59
> To: De Pauw Antoine
> Cc: 'John Hunter'; 'Matplotlib Users'
> Subject: Re: [Matplotlib-users] Information request
>
> De Pauw Antoine wrote:
>   
>> Jeff,
>>
>> I included here a figure where you'll see the border problem for imshow in
>> my case
>>
>> http://img217.imageshack.us/img217/5240/testfigzp3.png
>>
>> The border wraps at -180 and 180 to form the white line
>>
>> PS: it is atmospheric ice and not SO2, I just omitted to change the title
>>     
> ^^
>   
>> Antoine De Pauw
>> Collaborateur de recherches, Informatique - Research collaborator, IT
>> Laboratoire de chimie quantique et photophysique - Quantum chemistry and
>> photophysics laboratory
>> Université Libre de Bruxelles - ULB
>>   
>>     
>
> Antoine:  I hate to keep repeating myself - but we can't do much if you 
> don't provide a self-contained script, that I can run, which reproduces 
> the problem.  My guess is that the line along the dateline, and the 
> point at the South Pole are missing values (which griddata set to 
> missing because they are outside the extent of the data) - but that's 
> just a guess until I can reproduce it.
>
> -Jeff
>   
>> -----Original Message-----
>> From: Antoine De Pauw [mailto:[EMAIL PROTECTED] 
>> Sent: jeudi 18 septembre 2008 17:23
>> To: Jeff Whitaker; [EMAIL PROTECTED]
>> Cc: 'John Hunter'; 'Matplotlib Users'
>> Subject: re:Re: [Matplotlib-users] Information request
>>
>> Jeff,
>>
>> No the example doesn't show that line
>>
>> If I reduce the amount of data, the border will be on every side of the
>>     
> plot
>   
>> I'll show you an orthographic plot with no maskinf tomorrow and you will
>>     
> see
>   
>> the problem easily, it wraps in a white line along the 0° meridian and a
>> white circle in the pole
>>
>> I think it's the imshow layer that is not totally transparent on the map
>> background.. I tried every trick I could for example to put some
>>     
> zero-valued
>   
>> points on each corner to make imshow interpolate correctly the sides, but
>> that doesn't make any difference
>>
>>   
>>     
>>> De Pauw Antoine wrote:
>>>     
>>>       
>>>> Jeff,
>>>>
>>>> Yes they disappear, and they fluctuate with the interpolation method
>>>>         
> used
>   
>>>> For example, nearest interpolation don't show the line
>>>>
>>>> Also, if I reduce the grid resolution, the line is thicker, and if I use
>>>>       
>>>>         
>> a
>>   
>>     
>>>> masked array to get rid of undesired values, the border shows really
>>>> strongly
>>>>
>>>> Here's an example everyone will see:
>>>>
>>>> http://img225.imageshack.us/img225/2671/testfigep2.png
>>>>
>>>> (everything except the clouds is noise)
>>>>
>>>> Antoine De Pauw
>>>> Collaborateur de recherches, Informatique - Research collaborator, IT
>>>> Laboratoire de chimie quantique et photophysique - Quantum chemistry and
>>>> photophysics laboratory
>>>> Université Libre de Bruxelles - ULB
>>>>   
>>>>       
>>>>         
>>> Antoine:  Sorry to seem dense, but I don't see anything wrong with that 
>>> plot. I see a white border along the north and south pole, but I 
>>> intrepret that to be missing values.  However, my eyes are notoriously 
>>> bad.  I'd like to be to run a script that generates the artifacts 
>>> myself, so I can zoom in and see the problem myself.  Does the 
>>> griddata_demo.py script show the same problem for you?
>>>
>>> -Jeff
>>>     
>>>       
>>>> -----Original Message-----
>>>> From: Jeff Whitaker [mailto:[EMAIL PROTECTED] 
>>>> Sent: mercredi 17 septembre 2008 19:05
>>>> To: John Hunter
>>>> Cc: De Pauw Antoine; Matplotlib Users
>>>> Subject: Re: [Matplotlib-users] Information request
>>>>
>>>> John Hunter wrote:
>>>>   
>>>>       
>>>>         
>>>>> On Wed, Sep 17, 2008 at 11:54 AM, John Hunter <[EMAIL PROTECTED]>
>>>>>           
> wrote:
>   
>>>>>   
>>>>>     
>>>>>         
>>>>>           
>>>>>> Attached is a screenshot (zoom.png) from the gimp, zoomed in near the
>>>>>> axes border.  The black horizontal line is the top axes border, the
>>>>>> horizontal grey line is the artifact, the vertical dashed line is a
>>>>>> grid line.  I don't know if this offers a clue, but if you look at a
>>>>>> zoom in the upper right corner, the grey  line seems to break up and
>>>>>> curve down and to the right (corner.png)
>>>>>>     
>>>>>>       
>>>>>>           
>>>>>>             
>>>>> Sorry, screwed up corner.png (I attached the original and not the
>>>>> screenshot).  The correct screenshot is attached
>>>>>   
>>>>>
>>>>>
>>>>>     
>>>>>         
>>>>>           
>>>> John:   OK, now I finally see it.  Antoine:  Do these artifacts 
>>>> disappear if you comment out the imshow call?
>>>>
>>>> -Jeff
>>>>
>>>>   
>>>>       
>>>>         
>>> -- 
>>> Jeffrey S. Whitaker         Phone  : (303)497-6313
>>> Meteorologist               FAX    : (303)497-6449
>>> NOAA/OAR/PSD  R/PSD1        Email  : [EMAIL PROTECTED]
>>> 325 Broadway                Office : Skaggs Research Cntr 1D-113
>>> Boulder, CO, USA 80303-3328 Web    : http://tinyurl.com/5telg
>>>
>>>
>>>
>>>     
>>>       
>>   
>>     
>
>
>   


-- 
Jeffrey S. Whitaker         Phone  : (303)497-6313
Meteorologist               FAX    : (303)497-6449
NOAA/OAR/PSD  R/PSD1        Email  : [EMAIL PROTECTED]
325 Broadway                Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web    : http://tinyurl.com/5telg



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to