Hi Benjamin and others:
Thx for your comments.  I've tried to follow your recommendations and simplify 
the code:http://pastebin.com/JHhkcCzt

Prior to these modifications I would at least see my axes render on the 
gridLayout object, but now that doesn't populate.  
Here's my attempt to talk through what I think is happening:LINE 9: I import 
the FigureCanvasQTAgg class.  A figureCanvas is an object on which we can 
attach figures, and subsequently axes and plots.  I guess since I want to embed 
this figureCanvas into a pyqt4 GUI, I'm importing a special type of 
figureCanvas from the backend_qtAgg library to do this??  Not sure if that's 
the case.
LINE 24: I want to create a FigureCanvas object called thePlot on which I will 
create a simple line plot.  It seems that in order to instantiate this new 
object, I need to pass a Figure object so I use LINE 24 to do that.  
LINE 25:  In this line I create a a FigureCanvas object called thePlot and pass 
the Figure I created in LINE 24.
LINE 26: My objective is to attached this plot to a pyqt4 GUI.  I've created a 
gridLayout on the GUI.  In this line I execute the addWidget method and pass 
thePlot object as argument.  A FigureCanvas is a QWidget apparently which makes 
this a reasonable thing to do I guess.... 
LINE 119: I'm now in the pushbutton signal function.  This line sets the parent 
of thePlot to None.  I have no idea what this does.  This is just something I 
put in there because I hoped it would help make things work.  Adding it didn't 
help.
LINE 120: Here I set the variable self.axes equal to the return of the fig 
function add_subplot.  This is something I just copied from an example.  I 
understand that add_subplot(111) creates one row and column of figures and 
selects the first one(from matlab), but I'm not really grasping what's really 
going on here.  I've followed the declaration of add_subplot and find that the 
function is return something called a subplot_class_factory.  I don't really 
know what this is either so I followed this declaration too.  I find that a 
subplot_class_factory is a function that creates a new class that inherits from 
SubplotBase.  Again I'm not sure what a subplotbase is and decide to just 
accept the original statement and hope it works.  Is looking at the 
declarations a reasonable way to figure out how things work in matplotlib?  I 
don't know a better strategy.  For somebody with so little experience, it's 
been very difficult to gain much benefit from.
Line 122: Lastly I attempt to plot.  I saw in an example that the .plot method 
is available from a subplotbase.  Here I try something very simple, just three 
numbers.
THE OUTCOME: The axes never rendered and the plot never appeared.  I really 
don't know why or how to troubleshoot this.  Does anybody have an idea why?
thxMatt

 

     On Friday, December 5, 2014 4:29 PM, Benjamin Root <ben.r...@ou.edu> wrote:
   

 I would look at line 24/25. You are constructing a MyStaticMplCanvas instance 
on 24, with a self.main_widget as the parent. But then on 25, you explicitly 
call the constructor again (which is not a good idea), but with the main window 
as the parent (the self argument). I bet that is throwing off a couple things.

The code is extremely hard to follow, and I think it is a bad example to build 
off of in the first place (unnescessary subclassing). Perhaps a different 
example would be more suitable? What programming language are you coming from?

Ben Root


On Fri, Dec 5, 2014 at 4:12 PM, Matthew Albert <matthewa...@yahoo.com> wrote:

I'm sure this is a simple problem, but I've been going around in circles 
several days trying to figure this out.  
Here's my code.http://pastebin.com/n83dGhG4

Basically, I'm trying to get my pyqt4 button signal to execute the plot command 
(line 122).  A lot of this code was copied from the matplotlib example page.  
If I uncomment line 148, the figure will successfully plot.  I don't understand 
why what I'm doing on line 122 isn't equivalent to line 148.
thx for your help.Matt
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel





   
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to