On 04/23/2011 03:19 AM, Paul Ivanov wrote:
> Hi Xavier,
>
> Xavier Gnata, on 2011-04-23 02:33,  wrote:
>> Imagine you have this code:
>>
>> import  numpy  as  np
>> import  matplotlib.cm  as  cm
>> import  matplotlib.mlab  as  mlab
>> import  matplotlib.pyplot  as  plt
>>
>> delta  =  0.25
>> x  =  y  =  np.arange(-3.0,  3.0,  delta)
>> X,  Y  =  np.meshgrid(x,  y)
>> Z1  =  mlab.bivariate_normal(X,  Y,  1.0,  1.0,  0.0,  0.0)
>> Z2  =  mlab.bivariate_normal(X,  Y,  1.5,  0.5,  1,  1)
>> Z  =  Z2-Z1   # difference of Gaussians
>>
>> plt.imshow(Z,  interpolation='nearest',  cmap=cm.gray,  origin='lower',  
>> extent=[-3,3,-3,3])
>> Then you want to change the color of a few pixels to red.
>> You have a list of coordinates (i,j) and each pixel in this list should
>> now be red.
>>
>> I could play with masked arrays like in:
>> http://matplotlib.sourceforge.net/examples/pylab_examples/image_masked.html
>> but I would prefer a simple "display this pixel (i,j) in red whatever
>> his value is" function.
> Since you're using a gray color map for that image, you won't be
> able to set a particular pixel to red. You'll have to either
> overlay a new image that would be masked out everywhere except
> for the pixels you want to change, as you mentioned, or create
> new image patches at the corresponding positions like this:
>
>    idx2im = lambda i,j: (x[i],x[j+1],y[i],y[j+1] )
>    plt.imshow([[.9]], extent=idx2im(12,12), cmap =cm.jet, 
> origin='lower',vmin=0,vmax=1)
>
> or something like this:
>
>    plt.Rectangle((x[10],y[10]),width=delta,height=delta,color='red')
>    ax = plt.gca()
>    ax.add_artist(r)
>    plt.draw()
>
>
> best,
Thanks. The code using "Rectangle" works very well.
Using masks is more efficient but overshoot if I want to change only a 
few pixels.

Xavier

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to