[matplotlib-devel] Tk backend different from others
I was working on my embedding chapter of my book when I noticed a subtle difference in the tkagg backend from other interactive backends. First, all other interactive Canvas classes inherit their respective backend's widget: ``` ben@tigger:~/Programs/matplotlib$ git grep "FigureCanvasBase" | grep "class " lib/matplotlib/backend_bases.py:class FigureCanvasBase(object): lib/matplotlib/backends/backend_agg.py:class FigureCanvasAgg(FigureCanvasBase): lib/matplotlib/backends/backend_cairo.py:class FigureCanvasCairo (FigureCanvasBase): lib/matplotlib/backends/backend_gdk.py:class FigureCanvasGDK (FigureCanvasBase): lib/matplotlib/backends/backend_gtk.py:class FigureCanvasGTK (gtk.DrawingArea, FigureCanvasBase): lib/matplotlib/backends/backend_gtk3.py:class FigureCanvasGTK3 (Gtk.DrawingArea, FigureCanvasBase): lib/matplotlib/backends/backend_macosx.py:class FigureCanvasMac(_macosx.FigureCanvas, FigureCanvasBase): lib/matplotlib/backends/backend_pdf.py:class FigureCanvasPdf(FigureCanvasBase): lib/matplotlib/backends/backend_pgf.py:class FigureCanvasPgf(FigureCanvasBase): lib/matplotlib/backends/backend_ps.py:class FigureCanvasPS(FigureCanvasBase): lib/matplotlib/backends/backend_qt5.py:class FigureCanvasQT(QtWidgets.QWidget, FigureCanvasBase): lib/matplotlib/backends/backend_svg.py:class FigureCanvasSVG(FigureCanvasBase): lib/matplotlib/backends/backend_template.py:class FigureCanvasTemplate(FigureCanvasBase): lib/matplotlib/backends/backend_wx.py:class FigureCanvasWx(FigureCanvasBase, wx.Panel): ``` (I am going to assume that _macosx.FigureCanvas has all needed things built-in, and I'll ignore the switched order for FigureCanvasWx). I have no clue if this is potentially an issue or not, it just seemed a bit inconsistent. Second, while I haven't tried out all the backends yet, I noticed that the Figure window for tkagg has an annoying border that the other backends don't have. It is fairly wide, 4 pixels. I would like to get rid of that. Does anybody object to that? I can make a PR for that and any other border widths I find. Cheers! Ben Root -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Re: [matplotlib-devel] Tk backend different from others
On 2014/11/15, 6:14 AM, Benjamin Root wrote: > I was working on my embedding chapter of my book when I noticed a subtle > difference in the tkagg backend from other interactive backends. First, > all other interactive Canvas classes inherit their respective backend's > widget: > > ``` > ben@tigger:~/Programs/matplotlib$ git grep "FigureCanvasBase" | grep > "class " > lib/matplotlib/backend_bases.py:class FigureCanvasBase(object): > lib/matplotlib/backends/backend_agg.py:class > FigureCanvasAgg(FigureCanvasBase): > lib/matplotlib/backends/backend_cairo.py:class FigureCanvasCairo > (FigureCanvasBase): > lib/matplotlib/backends/backend_gdk.py:class FigureCanvasGDK > (FigureCanvasBase): > lib/matplotlib/backends/backend_gtk.py:class FigureCanvasGTK > (gtk.DrawingArea, FigureCanvasBase): > lib/matplotlib/backends/backend_gtk3.py:class FigureCanvasGTK3 > (Gtk.DrawingArea, FigureCanvasBase): > lib/matplotlib/backends/backend_macosx.py:class > FigureCanvasMac(_macosx.FigureCanvas, FigureCanvasBase): > lib/matplotlib/backends/backend_pdf.py:class > FigureCanvasPdf(FigureCanvasBase): > lib/matplotlib/backends/backend_pgf.py:class > FigureCanvasPgf(FigureCanvasBase): > lib/matplotlib/backends/backend_ps.py:class > FigureCanvasPS(FigureCanvasBase): > lib/matplotlib/backends/backend_qt5.py:class > FigureCanvasQT(QtWidgets.QWidget, FigureCanvasBase): > lib/matplotlib/backends/backend_svg.py:class > FigureCanvasSVG(FigureCanvasBase): > lib/matplotlib/backends/backend_template.py:class > FigureCanvasTemplate(FigureCanvasBase): > lib/matplotlib/backends/backend_wx.py:class > FigureCanvasWx(FigureCanvasBase, wx.Panel): > ``` > (I am going to assume that _macosx.FigureCanvas has all needed things > built-in, and I'll ignore the switched order for FigureCanvasWx). I have > no clue if this is potentially an issue or not, it just seemed a bit > inconsistent. There are a lot of differences; I don't know whether it would even be possible to make TkAgg more similar to the others. One of the differences is that most of the others have a native part (e.g., backend_qt5) and the part that pulls in agg (e.g., backend_qt5agg). TkAgg does it all in one. I don't think the difference is problematic. > > Second, while I haven't tried out all the backends yet, I noticed that > the Figure window for tkagg has an annoying border that the other > backends don't have. It is fairly wide, 4 pixels. I would like to get > rid of that. Does anybody object to that? I can make a PR for that and > any other border widths I find. Offhand, sounds reasonable. Eric > > Cheers! > Ben Root > > > > -- > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for $9/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk > > > > ___ > Matplotlib-devel mailing list > Matplotlib-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk ___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
[matplotlib-devel] examples/user_interfaces/pylab_with_gtk.py seems broken
My pygtk install is really hobbled (no thanks to anaconda...). Can someone with a working gtk environment doublecheck that the pylab_with_gtk.py script is broken on master? I am getting the following error: ben@tigger:~/Programs/matplotlib/examples/user_interfaces$ python pylab_with_gtk.py Gtk-Message: Failed to load module "canberra-gtk-module" Traceback (most recent call last): File "pylab_with_gtk.py", line 35, in toolbar.tooltips, AttributeError: 'NavigationToolbar2GTKAgg' object has no attribute 'tooltips' Cheers! Ben Root -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel