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