|
From: Thomas C. <tca...@gm...> - 2015-02-18 17:19:37
|
Please ping the mailing list again (I cc'd the list on this). See https://github.com/tacaswell/leidenfrost/blob/master/leidenfrost/gui/reader_gui.py#L636 (sorry for the code quality, this is a bespoked gui I wrote as part of my PhD work, you might be the second person to ever read this code) for a Qt object that wraps up a `Figure` in a nice-embedded way. Using this directly you can keep a list of these objects around and show/hide them using standard Qt methods. Modifying this a bit you could make this class based on a standard Qt widget, embed them all in a main window/what have you and then again use standard Qt methods to show/hide individual plots as you wish. Tom On Wed Feb 18 2015 at 12:00:27 PM tenspd137 . <dcd...@gm...> wrote: > Sorry for digging this back up, but I can't seem to get this to work. > I looked at glue as you suggested, but the page says it only supports > python 2.7. As for the Qt examples I can find, all I see how to do is > to feed a single plot widget different data sets - but nothing on > dynamically changing the underlying widget and redrawing. Would you > maybe take a look at my code and tell me what it is I am missing? If > so, I'll send it to you. > > Much appreciated. > > -C > > On Tue, Feb 10, 2015 at 6:48 PM, tenspd137 . <dcd...@gm...> wrote: > > No problem - thanks for the reply. I tried your suggestion of keeping > > a widget for each plot, but I couldn't get the main window to refresh > > correctly - maybe I was doing something wrong. I'll give it another > > try as soon as I get a chance. In the meantime, I'll check out glue > > as well - it looks pretty cool. > > > > I might bug you one more time if I can't figure it out, but I am not > > in a hurry and I probably just overlooked something. :) > > > > Thanks and much appreciated! > > > > -C > > > > On Tue, Feb 10, 2015 at 2:44 PM, Thomas Caswell <tca...@gm...> > wrote: > >> Sorry this didn't get a response for so long. > >> > >> The core of the embedding in Qt is at QWidget which contains the canvas. > >> Anything you want to do with a QWidget you can do with the canvas. > >> Independently you need to maintain the mpl level plotting objects (the > >> Figure, Axes, and Artist objects) (well, you don't _need_ to, you can > get to > >> them through the canvas object, but to keep your self sane I highly > >> recommend keeping track of the mpl objects your self, this linkage is > there > >> so that GUI generated draw commands can trigger a re-rendering of the > >> figure). > >> > >> I would just have a widget for each of the plots you want to have and > then > >> cycle which one is visible in the main window, that is probably a lot > easier > >> than trying to attach and detach canvases from Figures. > >> > >> I would also take a look at glue > >> http://www.glueviz.org/en/stable/installation.html who may have solved > many > >> of these problems for you. > >> > >> Tom > >> > >> On Thu Feb 05 2015 at 1:03:16 PM tenspd137 . <dcd...@gm...> > wrote: > >>> > >>> Hi all, > >>> > >>> I often have scripts that make a lot of plots, and I would like to be > >>> able to create the plots and then have a UI tool that shows a list of > >>> their titles, click on the title and have the plot be drawn in a > >>> window. So far, I have been able to use PyQt to create a UI with a > >>> list box and a Widget to display plots. What I can't seem to figure > >>> out is how to make a bunch of plots and then have the Window update. > >>> > >>> So, in psuedo code: > >>> > >>> list of plots = [] > >>> > >>> Go through datasets: > >>> plots.append(plot(dataset)) > >>> > >>> For plot in plots: > >>> add plot title to UI list, position in list is reference back > >>> into list of plots > >>> > >>> On UI: > >>> click on plot name/title > >>> widget draws plot > >>> > >>> > >>> So - basically like docked plots, except there is just a list to the > >>> side instead (much cleaner IMHO) > >>> > >>> I haven't been able to find any examples from googling. Has any one > >>> been able to do this or seen examples? > >>> > >>> > >>> Any help or suggestions are appreciated! > >>> > >>> Thanks! > >>> > >>> : > >>> > >>> > >>> ------------------------------------------------------------ > ------------------ > >>> Dive into the World of Parallel Programming. The Go Parallel Website, > >>> sponsored by Intel and developed in partnership with Slashdot Media, is > >>> your > >>> hub for all things parallel software development, from weekly thought > >>> leadership blogs to news, videos, case studies, tutorials and more. > Take a > >>> look and join the conversation now. http://goparallel.sourceforge.net/ > >>> _______________________________________________ > >>> Matplotlib-users mailing list > >>> Mat...@li... > >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |