You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(33) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(44) |
Mar
(51) |
Apr
(43) |
May
(43) |
Jun
(36) |
Jul
(61) |
Aug
(44) |
Sep
(25) |
Oct
(82) |
Nov
(97) |
Dec
(47) |
2005 |
Jan
(77) |
Feb
(143) |
Mar
(42) |
Apr
(31) |
May
(93) |
Jun
(93) |
Jul
(35) |
Aug
(78) |
Sep
(56) |
Oct
(44) |
Nov
(72) |
Dec
(75) |
2006 |
Jan
(116) |
Feb
(99) |
Mar
(181) |
Apr
(171) |
May
(112) |
Jun
(86) |
Jul
(91) |
Aug
(111) |
Sep
(77) |
Oct
(72) |
Nov
(57) |
Dec
(51) |
2007 |
Jan
(64) |
Feb
(116) |
Mar
(70) |
Apr
(74) |
May
(53) |
Jun
(40) |
Jul
(519) |
Aug
(151) |
Sep
(132) |
Oct
(74) |
Nov
(282) |
Dec
(190) |
2008 |
Jan
(141) |
Feb
(67) |
Mar
(69) |
Apr
(96) |
May
(227) |
Jun
(404) |
Jul
(399) |
Aug
(96) |
Sep
(120) |
Oct
(205) |
Nov
(126) |
Dec
(261) |
2009 |
Jan
(136) |
Feb
(136) |
Mar
(119) |
Apr
(124) |
May
(155) |
Jun
(98) |
Jul
(136) |
Aug
(292) |
Sep
(174) |
Oct
(126) |
Nov
(126) |
Dec
(79) |
2010 |
Jan
(109) |
Feb
(83) |
Mar
(139) |
Apr
(91) |
May
(79) |
Jun
(164) |
Jul
(184) |
Aug
(146) |
Sep
(163) |
Oct
(128) |
Nov
(70) |
Dec
(73) |
2011 |
Jan
(235) |
Feb
(165) |
Mar
(147) |
Apr
(86) |
May
(74) |
Jun
(118) |
Jul
(65) |
Aug
(75) |
Sep
(162) |
Oct
(94) |
Nov
(48) |
Dec
(44) |
2012 |
Jan
(49) |
Feb
(40) |
Mar
(88) |
Apr
(35) |
May
(52) |
Jun
(69) |
Jul
(90) |
Aug
(123) |
Sep
(112) |
Oct
(120) |
Nov
(105) |
Dec
(116) |
2013 |
Jan
(76) |
Feb
(26) |
Mar
(78) |
Apr
(43) |
May
(61) |
Jun
(53) |
Jul
(147) |
Aug
(85) |
Sep
(83) |
Oct
(122) |
Nov
(18) |
Dec
(27) |
2014 |
Jan
(58) |
Feb
(25) |
Mar
(49) |
Apr
(17) |
May
(29) |
Jun
(39) |
Jul
(53) |
Aug
(52) |
Sep
(35) |
Oct
(47) |
Nov
(110) |
Dec
(27) |
2015 |
Jan
(50) |
Feb
(93) |
Mar
(96) |
Apr
(30) |
May
(55) |
Jun
(83) |
Jul
(44) |
Aug
(8) |
Sep
(5) |
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Thomas A C. <tca...@uc...> - 2013-10-11 19:28:49
|
Please keep all emails in-band I was commenting that the issue you are having with getting easy-to-use pre-built figures in a non-interactive program without dragging pyplot in is the same as what I think the root of 2503 is and the re-factor I proposed to make your life easier would also help that case (I think). The gui backends were (as I understand it, someone please correct me if I am wrong) built to play nice with ipython to put together a MATLAB-like interface. The fact that you can then embed the gui-framework dependent bits of matplotlib in other gui applications is a nice side-effect, but not one of the initial design goals. This is why the `figure_manager` code is (too-)tightly coupled to _pylab_helpers. See the examples at http://matplotlib.org/examples/user_interfaces/ making a window with a canvas + tool bar is pretty easy. A quick and dirty solution might be to just monkey patch the figure_manager.destroy function when your app starts up to remove the check that shuts down the main loop. Tom On Fri, Oct 11, 2013 at 1:40 PM, Federico Ariza <ari...@gm...>wrote: > Sorry I don't get it. > Are you suggesting to explain this little predicament in the PR to > give another point of view? or > You want me to check the PR and try to use the solutions proposed there? > > Federico > > On Fri, Oct 11, 2013 at 1:32 PM, Thomas A Caswell <tca...@uc...> > wrote: > > embedding vs launching is a distinction without a difference, you are > > integrating matplotlib with your own gui application. > > > > That said, it would be nice to re-factor the figure_manager classes so > they > > they make no reference to `Gcf` or anything associated with pylab and > could > > be easily re-used. > > > > I think that would also help with the issues in > > https://github.com/matplotlib/matplotlib/pull/2503 > > > > Tom > > > > > > On Fri, Oct 11, 2013 at 12:14 PM, Federico Ariza < > ari...@gm...> > > wrote: > >> > >> Again > >> > >> In the example the plotting is inside the callback (just for > >> simplicity), but in reality, the plotting is in another class, > >> somewhere else that can be called standalone to produce the plots. > >> > >> Federico > >> > >> On Fri, Oct 11, 2013 at 1:12 PM, Federico Ariza > >> <ari...@gm...> wrote: > >> > I am not embedding, just launching, as the example shows. > >> > > >> > Federico > >> > > >> > On Fri, Oct 11, 2013 at 1:11 PM, Thomas A Caswell > >> > <tca...@uc...> wrote: > >> >> If you are embedding matplotlib, do not import `pyplot`. `pyplot` > sets > >> >> up a > >> >> bunch of gui-magic (tm) in the background (as you found in > >> >> `figure_manager`). > >> >> > >> >> Tom > >> >> > >> >> > >> >> On Fri, Oct 11, 2013 at 11:57 AM, Federico Ariza > >> >> <ari...@gm...> > >> >> wrote: > >> >>> > >> >>> Hello everybody > >> >>> > >> >>> Working on one GTK3 app, that calls matplotlib to plot some > figures, I > >> >>> found that closing all the figures from matplotlib kills my app > also. > >> >>> The problem.... > >> >>> > >> >>> Gtk.main() is called only if there is no previous invocation, in my > >> >>> case, my Gtk3 app invokes main, so the mainloop won't call it again. > >> >>> > >> >>> #in backend_gtk3.py > >> >>> # > >> >>> class Show(ShowBase): > >> >>> def mainloop(self): > >> >>> if Gtk.main_level() == 0: > >> >>> Gtk.main() > >> >>> > >> >>> But in the "destroy" method of the figure manager calls > Gtk.main_quit > >> >>> everytime that there are no more figures > >> >>> > >> >>> #in backend_gtk3.py inside destroy method of FigureManagerGTK3 > >> >>> # > >> >>> if Gcf.get_num_fig_managers()==0 and \ > >> >>> not matplotlib.is_interactive() and \ > >> >>> Gtk.main_level() >= 1: > >> >>> Gtk.main_quit() > >> >>> > >> >>> > >> >>> So basically we are not calling Gtk.main but we are Gtk.calling > >> >>> main_quit. > >> >>> Isn't it more natural to call Gtk.main the same amount of times that > >> >>> we are going to call Gtk.main_quit? > >> >>> > >> >>> Adding matplotlib.rcParams['interactive'] = True doesn't help > >> >>> > >> >>> Here is my little testing code > >> >>> > >> >>> ############################## > >> >>> #file myapp.py > >> >>> > >> >>> import matplotlib > >> >>> matplotlib.rcParams['interactive'] = True > >> >>> matplotlib.use('GTK3AGG') > >> >>> import matplotlib.pyplot as plt > >> >>> > >> >>> from gi.repository import Gtk > >> >>> > >> >>> class MyWindow(Gtk.Window): > >> >>> > >> >>> def __init__(self): > >> >>> Gtk.Window.__init__(self, title="Hello World") > >> >>> > >> >>> self.button = Gtk.Button(label="Click Here") > >> >>> self.button.connect("clicked", self.on_button_clicked) > >> >>> self.add(self.button) > >> >>> > >> >>> def on_button_clicked(self, widget): > >> >>> fig = plt.figure() > >> >>> ax = fig.add_subplot(111) > >> >>> ax.plot([1,2,3]) > >> >>> plt.show() > >> >>> > >> >>> win = MyWindow() > >> >>> win.connect("delete-event", Gtk.main_quit) > >> >>> win.show_all() > >> >>> Gtk.main() > >> >>> ######################### > >> >>> > >> >>> I know this is related to interactive mode, but running from console > >> >>> >>> python myapp.py > >> >>> reproduces the problem > >> >>> > >> >>> Why hasattr(sys, 'ps1') is False? if I am running it from console? > how > >> >>> do I change this? > >> >>> > >> >>> > >> >>> Thanks > >> >>> Federico > >> >>> > >> >>> P.S. Does anybody had the time to check my PR for > >> >>> multi-figure-manager? > >> >>> https://github.com/matplotlib/matplotlib/pull/2465 > >> >>> > >> >>> -- > >> >>> Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > >> >>> > >> >>> -- Antonio Alducin -- > >> >>> > >> >>> > >> >>> > >> >>> > ------------------------------------------------------------------------------ > >> >>> October Webinars: Code for Performance > >> >>> Free Intel webinars can help you accelerate application performance. > >> >>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the > >> >>> most > >> >>> from > >> >>> the latest Intel processors and coprocessors. See abstracts and > >> >>> register > > >> >>> > >> >>> > >> >>> > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > >> >>> _______________________________________________ > >> >>> Matplotlib-devel mailing list > >> >>> Mat...@li... > >> >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > >> >> > >> >> > >> >> > >> >> > >> >> -- > >> >> Thomas A Caswell > >> >> PhD Candidate University of Chicago > >> >> Nagel and Gardel labs > >> >> tca...@uc... > >> >> jfi.uchicago.edu/~tcaswell > >> >> o: 773.702.7204 > >> > > >> > > >> > > >> > -- > >> > Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > >> > > >> > -- Antonio Alducin -- > >> > >> > >> > >> -- > >> Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > >> > >> -- Antonio Alducin -- > > > > > > > > > > -- > > Thomas A Caswell > > PhD Candidate University of Chicago > > Nagel and Gardel labs > > tca...@uc... > > jfi.uchicago.edu/~tcaswell > > o: 773.702.7204 > > > > -- > Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > > -- Antonio Alducin -- > -- Thomas A Caswell PhD Candidate University of Chicago Nagel and Gardel labs tca...@uc... jfi.uchicago.edu/~tcaswell o: 773.702.7204 |
From: Federico A. <ari...@gm...> - 2013-10-11 18:36:12
|
@Eric But this imposses alot of restrictions? I want to have the GUI backend with the toolbar and everything. If I do it like you propose, I have to create the figures on the side when calling from a ipython session. and when calling from my gtk app, I have to create by hand everything even the toolbars etc... @Tom, I agree that the problem is within the figure manager. That is why I asked about the "unbalanced" ways to call Gtk.main and Gtk.main_quit I was checking https://github.com/matplotlib/matplotlib/pull/2503 but I think the solution proposed there does not help me. As you know I am trying to get the multi-figure-manager accepted or at least reviewed, At the end, if the only way to use a nice GUI backend is without calling it from other GUI, it does not help to have a nice GUI backend, you will have to redoit anyway. Federico On Fri, Oct 11, 2013 at 1:59 PM, Eric Firing <ef...@ha...> wrote: > On 2013/10/11 7:36 AM, Federico Ariza wrote: >> >> Ok, >> for me embedding is more of using the canvas directly and putting >> inside my own window. >> But OK, i give you that. >> >> In that case, >> if I have standalone funcion (or class) that can be run alone something >> like >> do_my_plots().... that if run with python myplots.py will display the >> plots. >> >> How can I add the do_my_plots call to my Gk3 app? and not having to >> worry that closing the plot windows will close my gtk3 app? > > > I think the choices are to rewrite do_my_plots to be consistent with your > embedding, or to run it in a separate process. For the former option, the > key is to keep pyplot out of everything except a top layer which is used > when calling via script or in a pyplot environment (e.g. ipython), but which > is not used in your gtk3 app. As an example (sorry it is rather long and > complex) see > http://currents.soest.hawaii.edu/hg/pycurrents/file/43a9236c62ff/plot/txyselect.py. > Note that pyplot is not even imported except inside a function that is used > to demonstrate the functionality in script mode. Therefore all the > functionality is accessible when embedding by importing the module, so long > as one does not call that one highest-level function. To embed, one simply > includes the contents of that function but without the pyplot parts. > > Eric > > >> >> Federico >> >> On Fri, Oct 11, 2013 at 1:32 PM, Eric Firing <ef...@ha...> wrote: >>> >>> On 2013/10/11 7:12 AM, Federico Ariza wrote: >>>> >>>> I am not embedding, just launching, as the example shows. >>> >>> >>> No, your example shows that you *are* embedding. You are running your >>> own Gtk.main(). That's embedding. >>> >>> >>> ------------------------------------------------------------------------------ >>> October Webinars: Code for Performance >>> Free Intel webinars can help you accelerate application performance. >>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most >>> from >>> the latest Intel processors and coprocessors. See abstracts and register >>> > >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Matplotlib-devel mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> >> >> > -- Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? -- Antonio Alducin -- |
From: Benjamin R. <ben...@ou...> - 2013-10-11 18:16:54
|
On Tue, Oct 8, 2013 at 12:00 PM, jcskyhawk09 <jcs...@gm...> wrote: > Hi, > > I am trying to use matplotlib to create script files that I can use to > render 3D plots in blender. I have already created the code to create the > file itself. I am currently trying to find the best place to put my code > into. I have tried using top level methods like get_path(), however these > functions do not work because they return the data points after they have > been projected and to render in blender I need the raw data points. > > I have tried editing the axes3d file and was able to create a working file. > However, I am worried there will be too much code recreation at this level. > I have also attempted to edit the art3d file to try to have less code > generation. However, I was unable to find all of the data for the points. > Any help or ideas on where to put the code would be greatly appreciated. > > If anymore information is needed please let me know, this is my first post > so I apologize if I left something out. > > Thanks, > James > > > One of the main limitations that I see is that the top level code in mplot3d still needed to conform with the basic assumptions of matplotlib's rendering engine. That being a 2-D + z-ordering renderer. So, top-level functions like get_path() has to return a 2-D projected form of the internal 3-D data, and then a zorder value is provided to represent the 3rd dimension for all the data for that artist object. It is entirely possible to get at the internal data unmolested, but there is no unified mechanism for doing so. Sometimes the z-data is stored separately. Sometimes the data is stored as a Nx3 numpy array. What might be a useful endeavour is to first look to unify the 3d get/set methods of the art3d classes. Cheers! Ben Root |
From: Eric F. <ef...@ha...> - 2013-10-11 17:59:26
|
On 2013/10/11 7:36 AM, Federico Ariza wrote: > Ok, > for me embedding is more of using the canvas directly and putting > inside my own window. > But OK, i give you that. > > In that case, > if I have standalone funcion (or class) that can be run alone something like > do_my_plots().... that if run with python myplots.py will display the plots. > > How can I add the do_my_plots call to my Gk3 app? and not having to > worry that closing the plot windows will close my gtk3 app? I think the choices are to rewrite do_my_plots to be consistent with your embedding, or to run it in a separate process. For the former option, the key is to keep pyplot out of everything except a top layer which is used when calling via script or in a pyplot environment (e.g. ipython), but which is not used in your gtk3 app. As an example (sorry it is rather long and complex) see http://currents.soest.hawaii.edu/hg/pycurrents/file/43a9236c62ff/plot/txyselect.py. Note that pyplot is not even imported except inside a function that is used to demonstrate the functionality in script mode. Therefore all the functionality is accessible when embedding by importing the module, so long as one does not call that one highest-level function. To embed, one simply includes the contents of that function but without the pyplot parts. Eric > > Federico > > On Fri, Oct 11, 2013 at 1:32 PM, Eric Firing <ef...@ha...> wrote: >> On 2013/10/11 7:12 AM, Federico Ariza wrote: >>> I am not embedding, just launching, as the example shows. >> >> No, your example shows that you *are* embedding. You are running your >> own Gtk.main(). That's embedding. >> >> ------------------------------------------------------------------------------ >> October Webinars: Code for Performance >> Free Intel webinars can help you accelerate application performance. >> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from >> the latest Intel processors and coprocessors. See abstracts and register > >> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > |
From: Federico A. <ari...@gm...> - 2013-10-11 17:37:15
|
Ok, for me embedding is more of using the canvas directly and putting inside my own window. But OK, i give you that. In that case, if I have standalone funcion (or class) that can be run alone something like do_my_plots().... that if run with python myplots.py will display the plots. How can I add the do_my_plots call to my Gk3 app? and not having to worry that closing the plot windows will close my gtk3 app? Federico On Fri, Oct 11, 2013 at 1:32 PM, Eric Firing <ef...@ha...> wrote: > On 2013/10/11 7:12 AM, Federico Ariza wrote: >> I am not embedding, just launching, as the example shows. > > No, your example shows that you *are* embedding. You are running your > own Gtk.main(). That's embedding. > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel -- Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? -- Antonio Alducin -- |
From: Thomas A C. <tca...@uc...> - 2013-10-11 17:33:00
|
embedding vs launching is a distinction without a difference, you are integrating matplotlib with your own gui application. That said, it would be nice to re-factor the figure_manager classes so they they make no reference to `Gcf` or anything associated with pylab and could be easily re-used. I think that would also help with the issues in https://github.com/matplotlib/matplotlib/pull/2503 Tom On Fri, Oct 11, 2013 at 12:14 PM, Federico Ariza <ari...@gm...>wrote: > Again > > In the example the plotting is inside the callback (just for > simplicity), but in reality, the plotting is in another class, > somewhere else that can be called standalone to produce the plots. > > Federico > > On Fri, Oct 11, 2013 at 1:12 PM, Federico Ariza > <ari...@gm...> wrote: > > I am not embedding, just launching, as the example shows. > > > > Federico > > > > On Fri, Oct 11, 2013 at 1:11 PM, Thomas A Caswell <tca...@uc...> > wrote: > >> If you are embedding matplotlib, do not import `pyplot`. `pyplot` sets > up a > >> bunch of gui-magic (tm) in the background (as you found in > >> `figure_manager`). > >> > >> Tom > >> > >> > >> On Fri, Oct 11, 2013 at 11:57 AM, Federico Ariza < > ari...@gm...> > >> wrote: > >>> > >>> Hello everybody > >>> > >>> Working on one GTK3 app, that calls matplotlib to plot some figures, I > >>> found that closing all the figures from matplotlib kills my app also. > >>> The problem.... > >>> > >>> Gtk.main() is called only if there is no previous invocation, in my > >>> case, my Gtk3 app invokes main, so the mainloop won't call it again. > >>> > >>> #in backend_gtk3.py > >>> # > >>> class Show(ShowBase): > >>> def mainloop(self): > >>> if Gtk.main_level() == 0: > >>> Gtk.main() > >>> > >>> But in the "destroy" method of the figure manager calls Gtk.main_quit > >>> everytime that there are no more figures > >>> > >>> #in backend_gtk3.py inside destroy method of FigureManagerGTK3 > >>> # > >>> if Gcf.get_num_fig_managers()==0 and \ > >>> not matplotlib.is_interactive() and \ > >>> Gtk.main_level() >= 1: > >>> Gtk.main_quit() > >>> > >>> > >>> So basically we are not calling Gtk.main but we are Gtk.calling > main_quit. > >>> Isn't it more natural to call Gtk.main the same amount of times that > >>> we are going to call Gtk.main_quit? > >>> > >>> Adding matplotlib.rcParams['interactive'] = True doesn't help > >>> > >>> Here is my little testing code > >>> > >>> ############################## > >>> #file myapp.py > >>> > >>> import matplotlib > >>> matplotlib.rcParams['interactive'] = True > >>> matplotlib.use('GTK3AGG') > >>> import matplotlib.pyplot as plt > >>> > >>> from gi.repository import Gtk > >>> > >>> class MyWindow(Gtk.Window): > >>> > >>> def __init__(self): > >>> Gtk.Window.__init__(self, title="Hello World") > >>> > >>> self.button = Gtk.Button(label="Click Here") > >>> self.button.connect("clicked", self.on_button_clicked) > >>> self.add(self.button) > >>> > >>> def on_button_clicked(self, widget): > >>> fig = plt.figure() > >>> ax = fig.add_subplot(111) > >>> ax.plot([1,2,3]) > >>> plt.show() > >>> > >>> win = MyWindow() > >>> win.connect("delete-event", Gtk.main_quit) > >>> win.show_all() > >>> Gtk.main() > >>> ######################### > >>> > >>> I know this is related to interactive mode, but running from console > >>> >>> python myapp.py > >>> reproduces the problem > >>> > >>> Why hasattr(sys, 'ps1') is False? if I am running it from console? how > >>> do I change this? > >>> > >>> > >>> Thanks > >>> Federico > >>> > >>> P.S. Does anybody had the time to check my PR for multi-figure-manager? > >>> https://github.com/matplotlib/matplotlib/pull/2465 > >>> > >>> -- > >>> Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > >>> > >>> -- Antonio Alducin -- > >>> > >>> > >>> > ------------------------------------------------------------------------------ > >>> October Webinars: Code for Performance > >>> Free Intel webinars can help you accelerate application performance. > >>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the > most > >>> from > >>> the latest Intel processors and coprocessors. See abstracts and > register > > >>> > >>> > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > >>> _______________________________________________ > >>> Matplotlib-devel mailing list > >>> Mat...@li... > >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > >> > >> > >> > >> > >> -- > >> Thomas A Caswell > >> PhD Candidate University of Chicago > >> Nagel and Gardel labs > >> tca...@uc... > >> jfi.uchicago.edu/~tcaswell > >> o: 773.702.7204 > > > > > > > > -- > > Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > > > > -- Antonio Alducin -- > > > > -- > Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > > -- Antonio Alducin -- > -- Thomas A Caswell PhD Candidate University of Chicago Nagel and Gardel labs tca...@uc... jfi.uchicago.edu/~tcaswell o: 773.702.7204 |
From: Eric F. <ef...@ha...> - 2013-10-11 17:32:10
|
On 2013/10/11 7:12 AM, Federico Ariza wrote: > I am not embedding, just launching, as the example shows. No, your example shows that you *are* embedding. You are running your own Gtk.main(). That's embedding. |
From: Federico A. <ari...@gm...> - 2013-10-11 17:15:09
|
Again In the example the plotting is inside the callback (just for simplicity), but in reality, the plotting is in another class, somewhere else that can be called standalone to produce the plots. Federico On Fri, Oct 11, 2013 at 1:12 PM, Federico Ariza <ari...@gm...> wrote: > I am not embedding, just launching, as the example shows. > > Federico > > On Fri, Oct 11, 2013 at 1:11 PM, Thomas A Caswell <tca...@uc...> wrote: >> If you are embedding matplotlib, do not import `pyplot`. `pyplot` sets up a >> bunch of gui-magic (tm) in the background (as you found in >> `figure_manager`). >> >> Tom >> >> >> On Fri, Oct 11, 2013 at 11:57 AM, Federico Ariza <ari...@gm...> >> wrote: >>> >>> Hello everybody >>> >>> Working on one GTK3 app, that calls matplotlib to plot some figures, I >>> found that closing all the figures from matplotlib kills my app also. >>> The problem.... >>> >>> Gtk.main() is called only if there is no previous invocation, in my >>> case, my Gtk3 app invokes main, so the mainloop won't call it again. >>> >>> #in backend_gtk3.py >>> # >>> class Show(ShowBase): >>> def mainloop(self): >>> if Gtk.main_level() == 0: >>> Gtk.main() >>> >>> But in the "destroy" method of the figure manager calls Gtk.main_quit >>> everytime that there are no more figures >>> >>> #in backend_gtk3.py inside destroy method of FigureManagerGTK3 >>> # >>> if Gcf.get_num_fig_managers()==0 and \ >>> not matplotlib.is_interactive() and \ >>> Gtk.main_level() >= 1: >>> Gtk.main_quit() >>> >>> >>> So basically we are not calling Gtk.main but we are Gtk.calling main_quit. >>> Isn't it more natural to call Gtk.main the same amount of times that >>> we are going to call Gtk.main_quit? >>> >>> Adding matplotlib.rcParams['interactive'] = True doesn't help >>> >>> Here is my little testing code >>> >>> ############################## >>> #file myapp.py >>> >>> import matplotlib >>> matplotlib.rcParams['interactive'] = True >>> matplotlib.use('GTK3AGG') >>> import matplotlib.pyplot as plt >>> >>> from gi.repository import Gtk >>> >>> class MyWindow(Gtk.Window): >>> >>> def __init__(self): >>> Gtk.Window.__init__(self, title="Hello World") >>> >>> self.button = Gtk.Button(label="Click Here") >>> self.button.connect("clicked", self.on_button_clicked) >>> self.add(self.button) >>> >>> def on_button_clicked(self, widget): >>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> ax.plot([1,2,3]) >>> plt.show() >>> >>> win = MyWindow() >>> win.connect("delete-event", Gtk.main_quit) >>> win.show_all() >>> Gtk.main() >>> ######################### >>> >>> I know this is related to interactive mode, but running from console >>> >>> python myapp.py >>> reproduces the problem >>> >>> Why hasattr(sys, 'ps1') is False? if I am running it from console? how >>> do I change this? >>> >>> >>> Thanks >>> Federico >>> >>> P.S. Does anybody had the time to check my PR for multi-figure-manager? >>> https://github.com/matplotlib/matplotlib/pull/2465 >>> >>> -- >>> Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? >>> >>> -- Antonio Alducin -- >>> >>> >>> ------------------------------------------------------------------------------ >>> October Webinars: Code for Performance >>> Free Intel webinars can help you accelerate application performance. >>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most >>> from >>> the latest Intel processors and coprocessors. See abstracts and register > >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Matplotlib-devel mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> >> >> >> -- >> Thomas A Caswell >> PhD Candidate University of Chicago >> Nagel and Gardel labs >> tca...@uc... >> jfi.uchicago.edu/~tcaswell >> o: 773.702.7204 > > > > -- > Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > > -- Antonio Alducin -- -- Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? -- Antonio Alducin -- |
From: Federico A. <ari...@gm...> - 2013-10-11 17:13:13
|
I am not embedding, just launching, as the example shows. Federico On Fri, Oct 11, 2013 at 1:11 PM, Thomas A Caswell <tca...@uc...> wrote: > If you are embedding matplotlib, do not import `pyplot`. `pyplot` sets up a > bunch of gui-magic (tm) in the background (as you found in > `figure_manager`). > > Tom > > > On Fri, Oct 11, 2013 at 11:57 AM, Federico Ariza <ari...@gm...> > wrote: >> >> Hello everybody >> >> Working on one GTK3 app, that calls matplotlib to plot some figures, I >> found that closing all the figures from matplotlib kills my app also. >> The problem.... >> >> Gtk.main() is called only if there is no previous invocation, in my >> case, my Gtk3 app invokes main, so the mainloop won't call it again. >> >> #in backend_gtk3.py >> # >> class Show(ShowBase): >> def mainloop(self): >> if Gtk.main_level() == 0: >> Gtk.main() >> >> But in the "destroy" method of the figure manager calls Gtk.main_quit >> everytime that there are no more figures >> >> #in backend_gtk3.py inside destroy method of FigureManagerGTK3 >> # >> if Gcf.get_num_fig_managers()==0 and \ >> not matplotlib.is_interactive() and \ >> Gtk.main_level() >= 1: >> Gtk.main_quit() >> >> >> So basically we are not calling Gtk.main but we are Gtk.calling main_quit. >> Isn't it more natural to call Gtk.main the same amount of times that >> we are going to call Gtk.main_quit? >> >> Adding matplotlib.rcParams['interactive'] = True doesn't help >> >> Here is my little testing code >> >> ############################## >> #file myapp.py >> >> import matplotlib >> matplotlib.rcParams['interactive'] = True >> matplotlib.use('GTK3AGG') >> import matplotlib.pyplot as plt >> >> from gi.repository import Gtk >> >> class MyWindow(Gtk.Window): >> >> def __init__(self): >> Gtk.Window.__init__(self, title="Hello World") >> >> self.button = Gtk.Button(label="Click Here") >> self.button.connect("clicked", self.on_button_clicked) >> self.add(self.button) >> >> def on_button_clicked(self, widget): >> fig = plt.figure() >> ax = fig.add_subplot(111) >> ax.plot([1,2,3]) >> plt.show() >> >> win = MyWindow() >> win.connect("delete-event", Gtk.main_quit) >> win.show_all() >> Gtk.main() >> ######################### >> >> I know this is related to interactive mode, but running from console >> >>> python myapp.py >> reproduces the problem >> >> Why hasattr(sys, 'ps1') is False? if I am running it from console? how >> do I change this? >> >> >> Thanks >> Federico >> >> P.S. Does anybody had the time to check my PR for multi-figure-manager? >> https://github.com/matplotlib/matplotlib/pull/2465 >> >> -- >> Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? >> >> -- Antonio Alducin -- >> >> >> ------------------------------------------------------------------------------ >> October Webinars: Code for Performance >> Free Intel webinars can help you accelerate application performance. >> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most >> from >> the latest Intel processors and coprocessors. See abstracts and register > >> >> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-devel mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > > > -- > Thomas A Caswell > PhD Candidate University of Chicago > Nagel and Gardel labs > tca...@uc... > jfi.uchicago.edu/~tcaswell > o: 773.702.7204 -- Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? -- Antonio Alducin -- |
From: Thomas A C. <tca...@uc...> - 2013-10-11 17:11:40
|
If you are embedding matplotlib, do not import `pyplot`. `pyplot` sets up a bunch of gui-magic (tm) in the background (as you found in `figure_manager`). Tom On Fri, Oct 11, 2013 at 11:57 AM, Federico Ariza <ari...@gm...>wrote: > Hello everybody > > Working on one GTK3 app, that calls matplotlib to plot some figures, I > found that closing all the figures from matplotlib kills my app also. > The problem.... > > Gtk.main() is called only if there is no previous invocation, in my > case, my Gtk3 app invokes main, so the mainloop won't call it again. > > #in backend_gtk3.py > # > class Show(ShowBase): > def mainloop(self): > if Gtk.main_level() == 0: > Gtk.main() > > But in the "destroy" method of the figure manager calls Gtk.main_quit > everytime that there are no more figures > > #in backend_gtk3.py inside destroy method of FigureManagerGTK3 > # > if Gcf.get_num_fig_managers()==0 and \ > not matplotlib.is_interactive() and \ > Gtk.main_level() >= 1: > Gtk.main_quit() > > > So basically we are not calling Gtk.main but we are Gtk.calling main_quit. > Isn't it more natural to call Gtk.main the same amount of times that > we are going to call Gtk.main_quit? > > Adding matplotlib.rcParams['interactive'] = True doesn't help > > Here is my little testing code > > ############################## > #file myapp.py > > import matplotlib > matplotlib.rcParams['interactive'] = True > matplotlib.use('GTK3AGG') > import matplotlib.pyplot as plt > > from gi.repository import Gtk > > class MyWindow(Gtk.Window): > > def __init__(self): > Gtk.Window.__init__(self, title="Hello World") > > self.button = Gtk.Button(label="Click Here") > self.button.connect("clicked", self.on_button_clicked) > self.add(self.button) > > def on_button_clicked(self, widget): > fig = plt.figure() > ax = fig.add_subplot(111) > ax.plot([1,2,3]) > plt.show() > > win = MyWindow() > win.connect("delete-event", Gtk.main_quit) > win.show_all() > Gtk.main() > ######################### > > I know this is related to interactive mode, but running from console > >>> python myapp.py > reproduces the problem > > Why hasattr(sys, 'ps1') is False? if I am running it from console? how > do I change this? > > > Thanks > Federico > > P.S. Does anybody had the time to check my PR for multi-figure-manager? > https://github.com/matplotlib/matplotlib/pull/2465 > > -- > Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? > > -- Antonio Alducin -- > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > -- Thomas A Caswell PhD Candidate University of Chicago Nagel and Gardel labs tca...@uc... jfi.uchicago.edu/~tcaswell o: 773.702.7204 |
From: Federico A. <ari...@gm...> - 2013-10-11 16:57:53
|
Hello everybody Working on one GTK3 app, that calls matplotlib to plot some figures, I found that closing all the figures from matplotlib kills my app also. The problem.... Gtk.main() is called only if there is no previous invocation, in my case, my Gtk3 app invokes main, so the mainloop won't call it again. #in backend_gtk3.py # class Show(ShowBase): def mainloop(self): if Gtk.main_level() == 0: Gtk.main() But in the "destroy" method of the figure manager calls Gtk.main_quit everytime that there are no more figures #in backend_gtk3.py inside destroy method of FigureManagerGTK3 # if Gcf.get_num_fig_managers()==0 and \ not matplotlib.is_interactive() and \ Gtk.main_level() >= 1: Gtk.main_quit() So basically we are not calling Gtk.main but we are Gtk.calling main_quit. Isn't it more natural to call Gtk.main the same amount of times that we are going to call Gtk.main_quit? Adding matplotlib.rcParams['interactive'] = True doesn't help Here is my little testing code ############################## #file myapp.py import matplotlib matplotlib.rcParams['interactive'] = True matplotlib.use('GTK3AGG') import matplotlib.pyplot as plt from gi.repository import Gtk class MyWindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="Hello World") self.button = Gtk.Button(label="Click Here") self.button.connect("clicked", self.on_button_clicked) self.add(self.button) def on_button_clicked(self, widget): fig = plt.figure() ax = fig.add_subplot(111) ax.plot([1,2,3]) plt.show() win = MyWindow() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main() ######################### I know this is related to interactive mode, but running from console >>> python myapp.py reproduces the problem Why hasattr(sys, 'ps1') is False? if I am running it from console? how do I change this? Thanks Federico P.S. Does anybody had the time to check my PR for multi-figure-manager? https://github.com/matplotlib/matplotlib/pull/2465 -- Y yo que culpa tengo de que ellas se crean todo lo que yo les digo? -- Antonio Alducin -- |
From: Jason G. <jas...@cr...> - 2013-10-10 22:08:45
|
I've been working on a backend based on the webagg backend, but that uses the IPython Comm architecture at https://github.com/ipython/ipython/pull/4195 to send messages instead of starting a server and opening websocket connections. I have an initial version in my github ipython-comm branch (see https://github.com/jasongrout/matplotlib/compare/ipython-comm). I'm getting confused about how the backend infrastructure works, though, like what the purpose for the FigureManager class is, etc. I'm running out of time to work on this now, and I'm hoping that someone will take what work I've done here and get it working properly with the matplotlib architecture. If not, I'll probably tinker with this more later. Thanks, Jason -- Jason Grout |
From: Alexander H. <mat...@2s...> - 2013-10-10 22:04:30
|
I am using Fedora 19, 64 bit, and the distribution's python 3.3.2, and the most recent version of mpl from git there seems to be a bug in the starup routine where proper conversion from bytes to string (as needed for Python 3) is not done the problem is in /matplotlib/__init__.py, line 459 ... 460 459 gs_exec, gs_v = checkdep_ghostscript() 460 if compare_versions(gs_v, gs_sugg): pass ipdb> gs_exec, gs_v ('gs', b'9.07') where clearly gs_v needs to be str Could you please make checkdep_ghostscript() to be python3-save by changing line 334 from v = stdout[:-1] to v = stdout[:-1].decode('ascii') (my apologies not following the bug report procedures; I hope you can consider it anyway) -Alexander ~/python/source3>ip Python 3.3.2 (default, Aug 23 2013, 19:00:04) Type "copyright", "credits" or "license" for more information. IPython 0.13.2 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. [TerminalIPythonApp] GUI event loop or pylab initialization failed --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /usr/lib/python3.3/site-packages/IPython/core/pylabtools.py in find_gui_and_backend(gui) 194 """ 195 --> 196 import matplotlib 197 198 if gui and gui != 'auto': /home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py in <module>() 975 976 rcParams['ps.usedistiller'] = checkdep_ps_distiller(rcParams['ps.usedistiller']) --> 977 rcParams['text.usetex'] = checkdep_usetex(rcParams['text.usetex']) 978 979 if rcParams['axes.formatter.use_locale']: /home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py in checkdep_usetex(s) 458 459 gs_exec, gs_v = checkdep_ghostscript() --> 460 if compare_versions(gs_v, gs_sugg): pass 461 elif compare_versions(gs_v, gs_req): 462 verbose.report(('ghostscript-%s found. ghostscript-%s or later is ' /home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py in compare_versions(a, b) 116 "return True if a is greater than or equal to b" 117 if a: --> 118 a = distutils.version.LooseVersion(a) 119 b = distutils.version.LooseVersion(b) 120 if a>=b: return True /usr/lib64/python3.3/distutils/version.py in __init__(self, vstring) 308 def __init__ (self, vstring=None): 309 if vstring: --> 310 self.parse(vstring) 311 312 /usr/lib64/python3.3/distutils/version.py in parse(self, vstring) 316 # use by __str__ 317 self.vstring = vstring --> 318 components = [x for x in self.component_re.split(vstring) 319 if x and x != '.'] 320 for i, obj in enumerate(components): TypeError: can't use a string pattern on a bytes-like object |
From: Todd <tod...@gm...> - 2013-10-10 21:02:55
|
The branch is matplotlib/toddrjen spectral: https://github.com/toddrjen/matplotlib/tree/spectral Specifically the tests that are causing the problem are in test_mlab.py. I tried reorganizing the tests into subclasses and implementing a cleanup class (that is the current HEAD), but the problem exists even without that commit. You can cherry-pick 50c90102a929af5d534e551fd624abffeb9470b8 and 7c1b4db8b2d04826e267781c0de1bcc622f0fdb5. On Thu, Oct 10, 2013 at 3:22 PM, Michael Droettboom <md...@st...> wrote: > Are your tests including the "@cleanup" decorator? (The @cleanup > decorator is run implicitly with the @image_comparison decorator, so you > really only need one or the other). > > Beyond that wild guess, I'm not sure what could be going on. You could > file a pull request with your new code, even if it's not fully ready, so we > could try it out and poke at it. Or just point us to your git branch so we > could check it out. > > Mike > > > On 10/10/2013 07:33 AM, Todd wrote: > > I have been implementing some new plot types, with tests. This code > passes all existing tests. I have also expanded the tests on some existing > plot types and mlab functions. These tests run fine on their own. > > The problem is that, when I run the code with the new tests, I get a lot > of out of memory errors. Further, the errors do not occur in the new > tests, but rather in other, unrelated tests. Further, the tests that fail > work fine when run on their own, they only fail when run as part of the > complete test suite. > > Even stranger, when I run the tests in parallel (even with only one > process) and enable "--process-restartworker", the tests run fine (with a > large enough timeout). But "--process-restartworker" doesn't help if > parallel tests are not turned on. > > So I am not sure exactly what to do here. Even if I leave out my own > tests, I may be running into some limit or memory leak that may very well > result in problems for other people down the road. > > A solution might be to force tests to run in parallel with > "--process-restartworker", but of course it would be better to find out > where the leak is. > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register >http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Matplotlib-devel mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > > > -- > _ > |\/|o _|_ _. _ | | \.__ __|__|_|_ _ _ ._ _ > | ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | | > http://www.droettboom.com > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > |
From: Michael D. <md...@st...> - 2013-10-10 13:38:21
|
I have tagged and uploaded 1.3.1. It is exactly the same as 1.3.1rc2, with only the version number being different. Once the Windows binaries are ready, I'll make a broader announcement in the usual places. Mike -- _ |\/|o _|_ _. _ | | \.__ __|__|_|_ _ _ ._ _ | ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | | http://www.droettboom.com |
From: Michael D. <md...@st...> - 2013-10-10 13:22:54
|
Are your tests including the "@cleanup" decorator? (The @cleanup decorator is run implicitly with the @image_comparison decorator, so you really only need one or the other). Beyond that wild guess, I'm not sure what could be going on. You could file a pull request with your new code, even if it's not fully ready, so we could try it out and poke at it. Or just point us to your git branch so we could check it out. Mike On 10/10/2013 07:33 AM, Todd wrote: > I have been implementing some new plot types, with tests. This code > passes all existing tests. I have also expanded the tests on some > existing plot types and mlab functions. These tests run fine on their > own. > > The problem is that, when I run the code with the new tests, I get a > lot of out of memory errors. Further, the errors do not occur in the > new tests, but rather in other, unrelated tests. Further, the tests > that fail work fine when run on their own, they only fail when run as > part of the complete test suite. > > Even stranger, when I run the tests in parallel (even with only one > process) and enable "--process-restartworker", the tests run fine > (with a large enough timeout). But "--process-restartworker" doesn't > help if parallel tests are not turned on. > > So I am not sure exactly what to do here. Even if I leave out my own > tests, I may be running into some limit or memory leak that may very > well result in problems for other people down the road. > > A solution might be to force tests to run in parallel with > "--process-restartworker", but of course it would be better to find > out where the leak is. > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > > > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel -- _ |\/|o _|_ _. _ | | \.__ __|__|_|_ _ _ ._ _ | ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | | http://www.droettboom.com |
From: Eduard B. <edu...@ae...> - 2013-10-10 13:00:45
|
Hello, I am developing a toolkit to parse, analyse and plot some scientific data using matplotlib. Among them are some application-specific plotting functions that sort of extend matplotlib. There are these nice image comparison decorators to test code like that but I am not sure how to use them for unit testing outside the scope of matplotlib itself. Is this use case intended and possible for the decorator? I have experimented with this unsuccessfully in the following way: There is a tests directory within my package with test functions decorated like so @image_comparison(baseline_images=['custom_function']) def test_custom_function(): # plot stuff... When I run nosetests, it fails creating some output images in result_images. Copying the appropriate files according to [1] to my_package/tests/baseline_images does not seem to have any effect. There are neither *-expected* nor *_{pdf,svg}.png files in there, only custom_function.{pdf,svg,png}. What am I doing wrong? Eduard [1] http://matplotlib.org/devel/testing.html |
From: Todd <tod...@gm...> - 2013-10-10 11:33:38
|
I have been implementing some new plot types, with tests. This code passes all existing tests. I have also expanded the tests on some existing plot types and mlab functions. These tests run fine on their own. The problem is that, when I run the code with the new tests, I get a lot of out of memory errors. Further, the errors do not occur in the new tests, but rather in other, unrelated tests. Further, the tests that fail work fine when run on their own, they only fail when run as part of the complete test suite. Even stranger, when I run the tests in parallel (even with only one process) and enable "--process-restartworker", the tests run fine (with a large enough timeout). But "--process-restartworker" doesn't help if parallel tests are not turned on. So I am not sure exactly what to do here. Even if I leave out my own tests, I may be running into some limit or memory leak that may very well result in problems for other people down the road. A solution might be to force tests to run in parallel with "--process-restartworker", but of course it would be better to find out where the leak is. |
From: jcskyhawk09 <jcs...@gm...> - 2013-10-08 16:00:30
|
Hi, I am trying to use matplotlib to create script files that I can use to render 3D plots in blender. I have already created the code to create the file itself. I am currently trying to find the best place to put my code into. I have tried using top level methods like get_path(), however these functions do not work because they return the data points after they have been projected and to render in blender I need the raw data points. I have tried editing the axes3d file and was able to create a working file. However, I am worried there will be too much code recreation at this level. I have also attempted to edit the art3d file to try to have less code generation. However, I was unable to find all of the data for the points. Any help or ideas on where to put the code would be greatly appreciated. If anymore information is needed please let me know, this is my first post so I apologize if I left something out. Thanks, James -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Rendering-in-Blender-tp42205.html Sent from the matplotlib - devel mailing list archive at Nabble.com. |
From: Ian T. <ian...@gm...> - 2013-10-07 19:21:22
|
On 7 October 2013 15:22, Michael Droettboom <md...@st...> wrote: > I like this idea. I've seen this called "extern" in other projects, but I > don't have a strong feeling about the name. I think it's good idea for all > of the reasons you mention. > OK, 'extern' seems the best directory name. After I've finished the qhull PR I'll create another one to move the existing directories across. Ian |
From: Andy R. T. <and...@gm...> - 2013-10-07 16:33:44
|
Sorry for this delay. I've put up the site at: http://conference.scipy.org/jhepc2013/ I'll get Jim to incorporate it in the main site. -- Andy On Thu, Aug 8, 2013 at 12:38 PM, Michael Droettboom <md...@st...> wrote: > On 08/08/2013 11:56 AM, Andy Ray Terrel wrote: > >> Doh, I never got the site up! This looks good, although copyright >> shouldn't go to Michael. We don't have copyright on the images or >> text just permission to display them. (I would probably just delete >> it or be specific what the copyright is.) I like the idea of having a >> site next to conference.scipy.org to display these. >> > > Yeah -- the copyright ended up to me accidentally because I filled it out > as the "author" field in Sphinx in the original version. I think if we > want to have an "author" it should say "Scipy Conference Organizers" > (without copyright), and maybe we give Nelle some well deserved credit for > the web design as well. > > Mike > > > >> -- Andy >> >> On Thu, Aug 8, 2013 at 10:48 AM, Nelle Varoquaux >> <nel...@gm...> wrote: >> >>> Hi everyone, >>> >>> Here is my attempt at making the website: >>> http://nellev.github.io/tmp/**jhepc/index.html<http://nellev.github.io/tmp/jhepc/index.html> >>> This is still work in progress, but feedback is welcomed. >>> >>> I chose to display only the "winners" (three top place + honorable >>> mention). >>> >>> Cheers, >>> N >>> >>> >>> On 31 July 2013 17:54, Andy Ray Terrel <and...@gm...> wrote: >>> >>>> Okay, I'll get it up. >>>> >>>> -- Andy >>>> >>>> >>>> On Wed, Jul 31, 2013 at 10:48 AM, Michael Droettboom <md...@st...> >>>> wrote: >>>> >>>>> On 07/31/2013 11:38 AM, Andy Ray Terrel wrote: >>>>> >>>>> >>>>> The plan was to have it on the SciPy conference website, but we haven't >>>>> really got it up. If someone can point me to rendered html, I can ask >>>>> Jim to >>>>> put it up there now. >>>>> >>>>> The rendered HTML is in the scipy2013_talks github repo. >>>>> >>>>> https://github.com/scipy/**scipy2013_talks/tree/master/** >>>>> plotting_contest<https://github.com/scipy/scipy2013_talks/tree/master/plotting_contest> >>>>> >>>>> That will be fine for now, and it sounds like Nelle will make the >>>>> presentation much better down the road, at which case we can update it >>>>> then. >>>>> >>>>> Mike >>>>> >>>> >>>> > |
From: Michael D. <md...@st...> - 2013-10-07 14:22:38
|
I like this idea. I've seen this called "extern" in other projects, but I don't have a strong feeling about the name. I think it's good idea for all of the reasons you mention. Mike ________________________________________ From: Ian Thomas [ian...@gm...] Sent: Sunday, October 06, 2013 4:09 PM To: mat...@li... Subject: [matplotlib-devel] Directories for C/C++ extensions Fellow developers, I am working on a PR to replace the use of matplotlib.delaunay with the Qhull library. Installation will be similar to the existing packages LibAgg and CXX in that if the system already has a sufficiently recent version of Qhull installed then matplotlib will use that, otherwise it will build the required library from the source code shipped with matplotlib. I have a thin C wrapper called qhull_wrap.c (following the coding guidelines) which I'll put in the top-level src directory along with most of the existing C/C++ extensions. But my question is where to put the qhull source code? Current practice has separate top-level directories called agg24 and CXX for the LibAgg and CXX packages respectively, so my initial thought was to follow this and create a new top-level directory called qhull to place the library code in. But I don't like this approach of creating a new top-level directory as (1) I think the top-level should remain as simple and uncluttered as possible, (2) it tends to overemphasize the importance of these third-party libraries as they are some of the first directories users see when unzipping the mpl tarball, and (3) it is not immediately obvious that the code in these directories is from third-party libraries rather than something we ourselves have written. Hence my preference is to create a new top-level directory called something like 'third-party' (or should that be 'third_party'?), and place all the third-party libraries in that; i.e. move the agg24 and CXX directories into third-party, and place the new qhull source code in third-party/qhull. What do others think of this idea? Ian Thomas |
From: Eric F. <ef...@ha...> - 2013-10-06 21:26:28
|
On 2013/10/06 10:09 AM, Ian Thomas wrote: > Fellow developers, > > I am working on a PR to replace the use of matplotlib.delaunay with the > Qhull library. Installation will be similar to the existing packages > LibAgg and CXX in that if the system already has a sufficiently recent > version of Qhull installed then matplotlib will use that, otherwise it > will build the required library from the source code shipped with > matplotlib. > > I have a thin C wrapper called qhull_wrap.c (following the coding > guidelines) which I'll put in the top-level src directory along with > most of the existing C/C++ extensions. But my question is where to put > the qhull source code? > > Current practice has separate top-level directories called agg24 and CXX > for the LibAgg and CXX packages respectively, so my initial thought was > to follow this and create a new top-level directory called qhull to > place the library code in. But I don't like this approach of creating a > new top-level directory as (1) I think the top-level should remain as > simple and uncluttered as possible, (2) it tends to overemphasize the > importance of these third-party libraries as they are some of the first > directories users see when unzipping the mpl tarball, and (3) it is not > immediately obvious that the code in these directories is from > third-party libraries rather than something we ourselves have written. > > Hence my preference is to create a new top-level directory called > something like 'third-party' (or should that be 'third_party'?), and > place all the third-party libraries in that; i.e. move the agg24 and CXX > directories into third-party, and place the new qhull source code in > third-party/qhull. > > What do others think of this idea? Adding this top-level directory is OK with me, but since I hope we will not need to carry along very many of such library source trees, it doesn't seem so important to segregate them in this way. If you do, alternative names might be "dependencies" or "external". The contents don't necessarily match what can be found elsewhere; Mike has needed to make local patches on occasion. Eric > > Ian Thomas |
From: Ian T. <ian...@gm...> - 2013-10-06 20:09:50
|
Fellow developers, I am working on a PR to replace the use of matplotlib.delaunay with the Qhull library. Installation will be similar to the existing packages LibAgg and CXX in that if the system already has a sufficiently recent version of Qhull installed then matplotlib will use that, otherwise it will build the required library from the source code shipped with matplotlib. I have a thin C wrapper called qhull_wrap.c (following the coding guidelines) which I'll put in the top-level src directory along with most of the existing C/C++ extensions. But my question is where to put the qhull source code? Current practice has separate top-level directories called agg24 and CXX for the LibAgg and CXX packages respectively, so my initial thought was to follow this and create a new top-level directory called qhull to place the library code in. But I don't like this approach of creating a new top-level directory as (1) I think the top-level should remain as simple and uncluttered as possible, (2) it tends to overemphasize the importance of these third-party libraries as they are some of the first directories users see when unzipping the mpl tarball, and (3) it is not immediately obvious that the code in these directories is from third-party libraries rather than something we ourselves have written. Hence my preference is to create a new top-level directory called something like 'third-party' (or should that be 'third_party'?), and place all the third-party libraries in that; i.e. move the agg24 and CXX directories into third-party, and place the new qhull source code in third-party/qhull. What do others think of this idea? Ian Thomas |
From: Russell E. O. <ro...@uw...> - 2013-10-04 20:40:29
|
In article <201...@me...>, mark <ma...@me...> wrote: > Many thanks for the feedback. > > So ,my first cut was to segregate the user guide by topic. Below is > the summary I had in mind for an Introduction for New Users. > > Hopefully this gives a flavour of what I have in mind. > > I will attempt to put this into practice and post again when I have a > user guide coded that might work in my view. > > mark > > > Introducing Plotting with Matplotlib > > Pyplot tutorial > Controlling line properties > Working with multiple figures and axes > Working with text > Interactive navigation > Navigation Keyboard Shortcuts > Working with text > Text introduction > Basic text commands > Text properties and layout > Writing mathematical expressions > Text rendering With LaTeX > Annotating text ... On the whole this looks good to me. I so have a few comments, however: - Would you be willing to include a section on using the class API? (I'm assuming the above is all based on using pyplot?). I find there is a huge gap between pyplot and the class API, and the documentation I've found does little to bridge that gap. - You have "Working with text" (including "annotating text") early on, then "Legend guide" and "Annotating Axes" much later on. I wish these were all together, as axes (values and labels), plot titles and legends are arguably the main use cases for text in plots. Perhaps it would suffice to have "Working with text" give a brief overview of how to do each of these things, with pointers to the other sections for details. An alternative is subsections within Working with text. - In a similar vein: I'm surprised GridSpec comes before legends and annotating axes. - Please consider a section on 3-d plots. - Please consider a section on animation. -- Russell |