Hi,

I would like to produce histograms in N dimensions, the minimum being in 2D.

Here is an example of what I wish to do:

I have a set of P particles with x and y positions.

I have a rectangular grid, defined by e.g. a sampling in x and a sampling in y, (e.g. samp_x=arange(-15,31,1) ..), and I wish to know how many particles are in each "pixel".

I can do that in many different ways (using searchsorted from numarray, or abruptly using loops, etc) but I am now looking for a simple (fewer lines) and efficient way (as I am treating large sets of particles) to do this so that I would be able to use a function like:

histogram_2D(x,y, samp_x, samp_y) would return a matrix with the number of particles in each corresponding pixel.

and

showhistogram_2D(x,y, samp_x, samp_y) would display it

[using e.g. imshow or matshow]

Any hint there (I realize this is more a numarray question but I thought of first asking your community first since someone may have done it already)? And maybe also of how to generalize this in N dimensions? (for 1D matplotlib has the hist function..)

Thanks!

Eric