[SciPy-user] KDE 2D, problem on axis and pylab.scatter

F. B. fusion_energy at hotmail.com
Thu Aug 28 02:26:00 EDT 2008






Hello
I have a problem with this code.

-------------------------------------------------------------------
import numpy as np
from numpy import array
from numpy import log
import scipy.stats as stats
from matplotlib.pyplot import imshow
import pylab as pl
import copy

f=open("datain.txt","r")
xyval=f.readlines()

xvect=[]
yvect=[]

for i in range(len(xyval)):
    if (i< (len(xyval)/2)  ):
        yvect.append(float(xyval[i]))
    else:
        xvect.append(  log(  float(xyval[i])   )  )


rvs=np.r_[[xvect],[yvect]]

#yvalues=array(yvect)
#xvalues=array(xvect)
#xmin=xvalues.min()
#xmax=xvalues.max()
#ymin=yvalues.min()
#ymax=yvalues.max()
#stepx=xmax/256
#stepy=ymax/256

print
"xmin: "+str(xmin)+"   xmax: "+str(xmax)+"  stepx: "+str(stepx)+" 
ymin: "+str(ymin)+" ymax: "+str(ymax)+" stepy: "+str(stepy)

#x_flat=np.arange(0,xmax,stepx)
#y_flat=np.arange(0,ymax,stepy)

x_flat=np.arange(-25,-15,0.1)
y_flat=np.arange(0,900,1)

kde = stats.kde.gaussian_kde(rvs) #rvs.T = [[....],[....]]

x,y = np.meshgrid(x_flat,y_flat)

grid_coords = np.append(x.reshape(-1,1),y.reshape(-1,1),axis=1)

z = kde(grid_coords.T)
z = z.reshape(len(y_flat),len(x_flat))


pl.hold(True)
contplot=pl.contourf(z,20)
ax=copy.deepcopy(pl.axis())
pl.scatter(xvect,yvect,c='y')
pl.axis(ax)
print pl.axis()
pl.show()
-------------------------------------------------------------------

I need to create a kernel density distribution of my data but the result that I obtain is strange.
From
readlines I read the x values that are in a range from 10**-7 to
10**-12, but for them (as you can see) I use the logarithm and then
they go from -25 to -15.
My y values are in range 50 to 1000 more or less.

There are some problems, first of all, the range of the values.
Using   x_flat=np.arange(-25,-15,0.1) I have a problem with the value of the X axis.
In
the graph that I obtain, the minimum value in x is zero, and the
maximum one is one hundred, but it is supposed to be between -25 and
-15.
(you can see that the length of x_flat is 100).

The
other problem that I have is the scatter plot. I should plot my
data over the KDE but I cannot do that and I don't know why.
However the shape of the KDE is that I expect.

If someone could gently help me I would really appreciate it.

Thanks and best regards
F. B.


_________________________________________________________________
Windows Live Mail: il programma gratuito per gestire tutta la tua posta!
http://get.live.com/wlmail/overview 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20080828/42ec8716/attachment.html>


More information about the SciPy-User mailing list