Ok, fair enough. Let's use that:

------------------
import numpy as np
import matplotlib.cm as cm
import  matplotlib.pyplot as plt

n = 100000
x = np.random.standard_normal(n)
y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n)
xmin = x.min()
xmax = x.max()
ymin = y.min()
ymax = y.max()

plt.hexbin(x,y, cmap=cm.jet, gridsize=(50,50), extent=[-2,2,-10,10])
plt.axis([xmin, xmax, ymin, ymax])
plt.title("Hexagon binning")
cb = plt.colorbar()
cb.set_label('counts')


plt.show()
----------------------


I trimmed this from the example, which works fine.  Without the extent
option, I get the expected plot of all the data. But, what I'd like is to
trim out some of the empty regions. If I just reset xmin, xmax, etc. the
binning of the data still occurs over the entire range of the data in x and
y, although the plot is correct, but the plot doesn't have the desired 50x50
bins. With the "extent" option I get these errors:


Traceback (most recent call last):
  File "HexBin.py", line 23, in <module>
    plt.hexbin(x,y, cmap=cm.jet, extent=[-2,2,-10,10])
  File "/usr/lib64/python2.5/site-packages/matplotlib/pyplot.py", line 1920,
in hexbin
    ret =  gca().hexbin(*args, **kwargs)
  File "/usr/lib64/python2.5/site-packages/matplotlib/axes.py", line 5447,
in hexbin
    collection.update(kwargs)
  File "/usr/lib64/python2.5/site-packages/matplotlib/artist.py", line 548,
in update
    raise AttributeError('Unknown property %s'%k)
AttributeError: Unknown property extent


The same thing as before. It doesn't know what 'extent' is for some reason.
Or, perhaps more accurately, hexbin knows what it is but artist.py doesn't?
The only "solution" i've come up with is to trim the original data that I
input, but that is far from ideal.


Best,

Alex






On Wed, Jun 17, 2009 at 7:50 PM, John Hunter <jdh2...@gmail.com> wrote:

> On Wed, Jun 17, 2009 at 5:31 PM, Alexandar Hansen<viochem...@gmail.com>
> wrote:
> > Hello,
> >
> > I've been having fun using hexbin, but I'd like to have consistent bin
> sizes
> > and plot ranges for different sets of data. What I'm finding is that the
> bin
> > sizes are primarily determined by the input data mins and maxes. For
> > instance, I'm plotting data with something like:
>
> Instead of a "something like" could you please post a complete example
> that we can run so we can replicate the error.  This saves us a lot of
> time.  Also, please report any version info, as described at
>
>
> http://matplotlib.sourceforge.net/faq/troubleshooting_faq.html#report-a-problem
>
> For example, the following runs for me using mpl svn:
>
> import numpy as np
> import matplotlib.cm as cm
> import  matplotlib.pyplot as plt
>
> n = 100000
> x = np.random.standard_normal(n)
> y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n)
> xmin = x.min()
> xmax = x.max()
> ymin = y.min()
> ymax = y.max()
>
> plt.subplots_adjust(hspace=0.5)
> plt.subplot(121)
> plt.hexbin(x,y, cmap=cm.jet, extent=[xmin, xmax, ymin, ymax])
> plt.axis([xmin, xmax, ymin, ymax])
> plt.title("Hexagon binning")
> cb = plt.colorbar()
> cb.set_label('counts')
>
> plt.subplot(122)
> plt.hexbin(x,y,bins='log', cmap=cm.jet)
> plt.axis([xmin, xmax, ymin, ymax])
> plt.title("With a log color scale")
> cb = plt.colorbar()
> cb.set_label('log10(N)')
>
> plt.show()
>
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to