Re: [Matplotlib-users] Problems with pygtk and matplotlib

2010-07-12 Thread John Hunter
On Sun, Jul 11, 2010 at 12:52 PM, Preben Randhol  wrote:

>> If you could create a minimal example starting with
>> embedding_in_gtk3.py that replicates your problem, we're more likely
>> to be able to help.

Thanks for posting the example.  This runs fine for me (I can pan,
zoom, zoom to rect, the zoom to rect rubberband is drawn).  Here is my
version info; what do you have for same?

  jo...@udesktop191:tmp> uname -a
  SunOS udesktop191 5.10 Generic_139556-08 i86pc i386 i86pc
j  o...@udesktop191:tmp> python -c 'import gtk; print gtk.pygtk_version'
  (2, 6, 0)

Also, if you know the persion of gtk you are running, that might help.

Finally, you say you are running mpl 1.0, but your traceback says

  "/usr/lib/pymodules/python2.6/matplotlib/backends/backend_gtk.py", line
  606, in idle_draw drawable.draw_image(gc, imageBack, 0, 0, *lastrect)
  TypeError: Gdk.Drawable.draw_image() argument 2 must be gtk.gdk.Image,
  not None


but line 606 in backend_gtk in mpl 1.0.0 is not what this traceback
says.  Are you sure you are picking up the right version?  I suggest
flushing all your matplotlib* files and dirs in site-packages and
doing a clean install, and then running your test script with
--verbose-debug so we can get a better look at what is happening.
Please post the output which is logged to the terminal.

JDH

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Problems with pygtk and matplotlib

2010-07-12 Thread Preben Randhol
On Sun, 11 Jul 2010 13:39:05 -1000
Eric Firing  wrote:

> On 07/11/2010 07:52 AM, Preben Randhol wrote:
> 
> >>
> >> Also, are you using backend_gtk or backend_gtkagg (and does it
> >> matter for your problem?)
> >
> > I use GTKAgg and it works. GTK doesn't.
> >
> 
> backend_gtk has limitations that backend_gtkagg does not, although I 
> don't know that your zooming problem should be one of them.  Are you 
> sure you *need* to use backend_gtk instead of backend_gtkagg?

But I am using gtkagg. I only tested backend_gtk because I was asked
to. gtkagg still has problem with zooming/panning

Preben

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Problems with pygtk and matplotlib

2010-07-11 Thread Eric Firing
On 07/11/2010 07:52 AM, Preben Randhol wrote:

>>
>> Also, are you using backend_gtk or backend_gtkagg (and does it matter
>> for your problem?)
>
> I use GTKAgg and it works. GTK doesn't.
>

backend_gtk has limitations that backend_gtkagg does not, although I 
don't know that your zooming problem should be one of them.  Are you 
sure you *need* to use backend_gtk instead of backend_gtkagg?

Eric

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Problems with pygtk and matplotlib

2010-07-11 Thread Preben Randhol
On Fri, 9 Jul 2010 19:37:56 -0500
John Hunter  wrote:

> On Fri, Jul 9, 2010 at 3:10 PM, Preben Randhol 
> wrote:
> 
> > I'm trying to plot several subplots. I have setup a scrollwidget and
> > viewport and I pack a canvas into a vbox in the viewport.
> >
> > Problem is that when I scroll, either some of the subplots are
> > missing, or I get an error when I try to zoom on a graph that
> > argument is not a gdk.gtk.image (or something like that) but None.
> >
> > I thought this was fixed in 1.0, but it isn't
> >
> > Please advice!
> 
> Does this example work for you?
> 
>   
> http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_gtk3.html


Yes it works and a bit cleanup of my imports helped in my program too.
However if I add NavigateToolbar to the example above I get problems.

mtoolbar = NavigationToolbar(canvas, win)

then I get error when I try to zoom in a graph:

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_gtk.py:621:
DeprecationWarning: Use the new widget gtk.Tooltip self.tooltips =
gtk.Tooltips() 
/usr/lib/pymodules/python2.6/matplotlib/backends/backend_gtk.py:601:
GtkWarning: gdk_drawable_copy_to_image: assertion `src_y >= 0' failed
self._imageBack = axrect, drawable.get_image(*axrect) Traceback (most
recent call last): File
"/usr/lib/pymodules/python2.6/matplotlib/backends/backend_gtk.py", line
606, in idle_draw drawable.draw_image(gc, imageBack, 0, 0, *lastrect)
TypeError: Gdk.Drawable.draw_image() argument 2 must be gtk.gdk.Image,
not None

The graph zooms, but I don't see the rubberband. I got same
error in 1.0:
 
TypeError: Gdk.Drawable.draw_image() argument 2 must be gtk.gdk.Image,
not None


> It uses a ScrolledWindow.
> 
> Also, are you using backend_gtk or backend_gtkagg (and does it matter
> for your problem?)

I use GTKAgg and it works. GTK doesn't.

> 
> If you could create a minimal example starting with
> embedding_in_gtk3.py that replicates your problem, we're more likely
> to be able to help.

I have added the example above with my changes. Zooming is the problem.


#!/usr/bin/env python
"""
demonstrate adding a FigureCanvasGTK/GTKAgg widget to a gtk.ScrolledWindow
"""

import gtk

from matplotlib.figure import Figure
from numpy import arange, sin, pi

# uncomment to select /GTK/GTKAgg/GTKCairo
#from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas
from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas
#from matplotlib.backends.backend_gtkcairo import FigureCanvasGTKCairo as FigureCanvas
from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbar


win = gtk.Window()
win.connect("destroy", lambda x: gtk.main_quit())
win.set_default_size(400,300)
win.set_title("Embedding in GTK")

f = Figure(figsize=(5,4), dpi=100)
a = f.add_subplot(511)
t = arange(0.0,3.0,0.01)
s = sin(2*pi*t)
a.plot(t,s)
a = f.add_subplot(512)
t = arange(0.0,3.0,0.01)
s = sin(2*pi*t)
a.plot(t,s)

a = f.add_subplot(513)
t = arange(0.0,3.0,0.01)
s = sin(2*pi*t)
a.plot(t,s)
a = f.add_subplot(514)
t = arange(0.0,3.0,0.01)
s = sin(2*pi*t)
a.plot(t,s)
a = f.add_subplot(515)
t = arange(0.0,3.0,0.01)
s = sin(2*pi*t)
a.plot(t,s)
sw = gtk.ScrolledWindow()


cx=gtk.VBox()
win.add (cx)
cx.pack_start(sw)
# A scrolled window border goes outside the scrollbars and viewport
sw.set_border_width (10)
# policy: ALWAYS, AUTOMATIC, NEVER
sw.set_policy (hscrollbar_policy=gtk.POLICY_NEVER,
   vscrollbar_policy=gtk.POLICY_ALWAYS)

canvas = FigureCanvas(f)  # a gtk.DrawingArea
canvas.set_size_request(800,3000)
bx=gtk.VBox()
mtoolbar = NavigationToolbar(canvas, win)
cx.pack_start(mtoolbar,False,False)

sw.add_with_viewport (bx)
bx.pack_start(canvas,True, True)

win.show_all()
gtk.main()
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Problems with pygtk and matplotlib

2010-07-09 Thread John Hunter
On Fri, Jul 9, 2010 at 3:10 PM, Preben Randhol  wrote:

> I'm trying to plot several subplots. I have setup a scrollwidget and
> viewport and I pack a canvas into a vbox in the viewport.
>
> Problem is that when I scroll, either some of the subplots are missing,
> or I get an error when I try to zoom on a graph that argument is not a
> gdk.gtk.image (or something like that) but None.
>
> I thought this was fixed in 1.0, but it isn't
>
> Please advice!

Does this example work for you?

  
http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_gtk3.html

It uses a ScrolledWindow.

Also, are you using backend_gtk or backend_gtkagg (and does it matter
for your problem?)

If you could create a minimal example starting with
embedding_in_gtk3.py that replicates your problem, we're more likely
to be able to help.

JDH

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Problems with pygtk and matplotlib

2010-07-09 Thread John Hunter
On Fri, Jul 9, 2010 at 3:10 PM, Preben Randhol  wrote:
> Hi
>
> I'm trying to plot several subplots. I have setup a scrollwidget and
> viewport and I pack a canvas into a vbox in the viewport.
>
> Problem is that when I scroll, either some of the subplots are missing,
> or I get an error when I try to zoom on a graph that argument is not a
> gdk.gtk.image (or something like that) but None.
>
> I thought this was fixed in 1.0, but it isn't
>
> Please advice!


Does this example work for you?

http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_gtk3.html

It uses a ScrolledWindow.

Also, are you using backend_gtk or backend_gtkagg (and does it matter
for your problem?)

If you could create a minimal example starting with
embedding_in_gtk3.py that replicates your problem, we're more likely
to be able to help.

JDH

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users