rachel-mikel_arcejae...@hmc.edu wrote: > Hello, > > I'm trying to create a heat map from two lists of corresponding X and Y > coordinates. > > I've tried both numpy.histogram2d() and pyplot.hexbin(). > > The histogram I get back doesn't correspond to the points I gave it. It seems > as if it's sorting each X and Y list and then eliminating some points, which > would definitely not give me the coordinates I want. (Also, I want to be able > to switch the origin to the upper-left corner, but I can't figure out how to > do this with imshow().) > Histogram2d works fine for me, I use it more or less the same way you do, so I can't help there. You can specify the origin in imshow by saying:
plt.imshow(heatmap, extent=axesExtent, origin='upper') > The hexbin graph does correspond to my original points, but rather than > having hexagons of equal size, some are super thin and tiny. (I'd also like > to fill in the entire graph with background color (I want the axes to extend > beyond the data) - is there a way to do that?) > You can specify the bins in histogram2d to cover the whole screen (you can also specify bins in hexbin, which should be similar): xedges, yedges = linspace(0,1400,(1400/50)+1), linspace(0,600,(600/50)+1) npy.histogram2d(xList, yList, bins=[xedges,yedges]) > Here's the code I wrote for the histogram and hexbin. Am I doing something > wrong? I've attached three graphs - one is my coordinates as a scatter plot, > one my histogram result, and the other the hexbin result. > > Thanks! > ~Rachel > > def plotHistogram( coordsTuple ): > > plt.clf() # Clears any previous figure > > xList = coordsTuple[0] > yList = coordsTuple[1] > > heatmap, xedges, yedges = npy.histogram2d(xList, yList) > axesExtent = [0, xedges[-1], 0, yedges[-1]] > plt.imshow(heatmap, extent = axesExtent) > > plt.title( "Heat Map of User Clicks" ) > > name = raw_input("\nImage name and extension: ") > plt.savefig(name) > > > def plotHexbins( coordsTuple ): > > plt.clf() # Clears any previous figure > > xList = coordsTuple[0] > yList = coordsTuple[1] > > plt.hexbin(xList, yList) > > plt.title( "Heat Map of User Clicks" ) > > name = raw_input("\nImage name and extension: ") > plt.savefig(name) > > ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users