From: Thomas M. <t.r...@wa...> - 2014-05-01 07:46:35
|
Hello, I am new to plplot, but I am trying to check it for a number of applications I have in mind within C++ and Python codes as a replacement for PGPLOT which I have used for years. I am starting with the Python binding to explore plplot's features. The interactive device I use most of all with PGPLOT is "/xserve" which allows you to generate a plot that persists after a program / script exits and returns control to the terminal. I use this feature all the time. Within long running programs, it allows me to generate plots which I can look at while the program continues doing something else. With plplot's xwin or tk, I can get a plot that persists, but it seems to block until I have actively quitted it. I experimented with calling plspause(False) just before plend but then the plot just flashes briefly with tk and does not appear at all with xwin. I feel I am missing something obvious, but haven't found it yet. Thanks in advance for any help, tom |
From: Arjen M. <Arj...@de...> - 2014-05-01 07:56:58
|
Hi Thomas, If I understand you correctly, you are looking for an on-screen device that displays the results, drops out of the event loop to allow the program to continue and does not close, so that later on you can resume the plotting. (As I do not know PGPLOT, I want to make sure I understand it.) plspause() will do that indeed, but the graphics buffer may get in the way. Try using plflush() at the end of drawing the graph. I have not tried it, but I think that will help. Regards, Arjen From: Thomas Marsh [mailto:t.r...@wa...] Sent: Thursday, May 01, 2014 9:46 AM To: plp...@li... Subject: [Plplot-general] Does plplot have an equivalent of PGPLOT's /xserve device? Hello, I am new to plplot, but I am trying to check it for a number of applications I have in mind within C++ and Python codes as a replacement for PGPLOT which I have used for years. I am starting with the Python binding to explore plplot's features. The interactive device I use most of all with PGPLOT is "/xserve" which allows you to generate a plot that persists after a program / script exits and returns control to the terminal. I use this feature all the time. Within long running programs, it allows me to generate plots which I can look at while the program continues doing something else. With plplot's xwin or tk, I can get a plot that persists, but it seems to block until I have actively quitted it. I experimented with calling plspause(False) just before plend but then the plot just flashes briefly with tk and does not appear at all with xwin. I feel I am missing something obvious, but haven't found it yet. Thanks in advance for any help, tom DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Thomas M. <t.r...@wa...> - 2014-05-01 08:50:04
|
Hi Arjen, thanks for your reply. plflush *without* a plend sort of works with "tk", but has significant problems -- see below. What I want to do is not quite as you summarise; sorry for not being clear. Its not so much that I want to resume plotting -- I imagine plflush would be good for this -- but I want the plot to finish but then to persist and not simply disappear. I sometimes have multiple such plots in windows on my screen, potentially produced by independent scripts. When I am done with them I can click the "X" at the top-right to get rid of them. I have not managed to replicate this way of working with plplot. When I used plflush without plend, my test script exited and the plot remained (with "tk" but not "xwin"). I ran the script a couple of times and produced two such plots. However, hearing my laptop's fan crank up, a look with "top" revealed two processes called "plserver" each running at 120% CPU [server talking to non-existent script perhaps?], so I think the absence of "plend" was not good, and this solution is not workable. If I stick plend back in, then I get the same instant disappearance of the plot when I set plspause(False) whether I use plflush or not, unsuprisingly I think, as I imagine plend flushed the graphics. tom On 1 May 2014 08:56, Arjen Markus <Arj...@de...> wrote: > Hi Thomas, > > > > If I understand you correctly, you are looking for an on-screen device > that displays the results, drops out of the event loop to allow the program > to continue and does not close, so that later on you can resume the > plotting. (As I do not know PGPLOT, I want to make sure I understand it.) > plspause() will do that indeed, but the graphics buffer may get in the way. > > > > Try using plflush() at the end of drawing the graph. I have not tried it, > but I think that will help. > > > Regards, > > > > Arjen > > > > > > *From:* Thomas Marsh [mailto:t.r...@wa...] > *Sent:* Thursday, May 01, 2014 9:46 AM > *To:* plp...@li... > *Subject:* [Plplot-general] Does plplot have an equivalent of PGPLOT's > /xserve device? > > > > Hello, I am new to plplot, but I am trying to check it for a number of > applications I have in mind within C++ and Python codes as a replacement > for PGPLOT which I have used for years. I am starting with the Python > binding to explore plplot's features. The interactive device I use most of > all with PGPLOT is "/xserve" which allows you to generate a plot that > persists after a program / script exits and returns control to the > terminal. I use this feature all the time. Within long running programs, it > allows me to generate plots which I can look at while the program continues > doing something else. With plplot's xwin or tk, I can get a plot that > persists, but it seems to block until I have actively quitted it. I > experimented with calling plspause(False) just before plend but then the > plot just flashes briefly with tk and does not appear at all with xwin. > > I feel I am missing something obvious, but haven't found it yet. Thanks in > advance for any help, > > tom > DISCLAIMER: This message is intended exclusively for the addressee(s) > and may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > |
From: Alan W. I. <ir...@be...> - 2014-05-01 15:50:02
|
On 2014-05-01 09:49+0100 Thomas Marsh wrote: > [...]What I want to do is not quite > as you summarise; sorry for not being clear. Its not so much that I want to > resume plotting -- I imagine plflush would be good for this -- but I want > the plot to finish but then to persist and not simply disappear. I > sometimes have multiple such plots in windows on my screen, potentially > produced by independent scripts. When I am done with them I can click the > "X" at the top-right to get rid of them. I have not managed to replicate > this way of working with plplot. [...] Hi Tom: I have been following your conversation with Arjen with interest, and I think what you describe above is exactly what we provide. But I might be interpreting what you said above incorrectly so let me make clear what we provide with an exact example. In the build tree, if I build the xwin device and one of the simplest examples with the following commands: # Create xwin device and all its dependencies make xwin # Create a particular C example and all its dependencies make x00c then when I run examples/c/x00c -dev xwin the plot persists on the screen and the C example does not quit. In fact, I can resize that plot so it does remain active until I exit from it (by hitting the enter key or clicking on the button to destroy the X window). So it appears to me this default behaviour of the xwin device is exactly what you described above. You expressed and interest in Python so here is the equivalent there # Create xwin device and all its dependencies make xwin # Create Python binding for PLplot make _plplotcmodule_fixed # Populate build tree with python examples make python_examples Then run examples/python/x00 -dev xwin and that plot has the same desired characteristics as the C version above. Will you try either the C version or Python version of the concrete example above, and let us know what (if anything) the difficulty might be? Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Arjen M. <Arj...@de...> - 2014-05-01 08:56:07
|
Hi Tom, Hm, you want to have several independent windows then. I have no particular experience with that sort of a set-up. I do think PLplot was designed with that in mind and I will have to leave it to others to help you with this. One thing that you would have to deal with is merging two different programming models – the event-driven one for the graphics and the procedural one for your computations. That is possible, for instance via multiprocessing, but I am not entirely sure what the easiest way would be. Perhaps others have looked into this already. It is intriguing though … Regards, Arjen From: Thomas Marsh [mailto:t.r...@wa...] Sent: Thursday, May 01, 2014 10:49 AM To: Arjen Markus Cc: plp...@li... Subject: Re: [Plplot-general] Does plplot have an equivalent of PGPLOT's /xserve device? Hi Arjen, thanks for your reply. plflush *without* a plend sort of works with "tk", but has significant problems -- see below. What I want to do is not quite as you summarise; sorry for not being clear. Its not so much that I want to resume plotting -- I imagine plflush would be good for this -- but I want the plot to finish but then to persist and not simply disappear. I sometimes have multiple such plots in windows on my screen, potentially produced by independent scripts. When I am done with them I can click the "X" at the top-right to get rid of them. I have not managed to replicate this way of working with plplot. When I used plflush without plend, my test script exited and the plot remained (with "tk" but not "xwin"). I ran the script a couple of times and produced two such plots. However, hearing my laptop's fan crank up, a look with "top" revealed two processes called "plserver" each running at 120% CPU [server talking to non-existent script perhaps?], so I think the absence of "plend" was not good, and this solution is not workable. If I stick plend back in, then I get the same instant disappearance of the plot when I set plspause(False) whether I use plflush or not, unsuprisingly I think, as I imagine plend flushed the graphics. tom On 1 May 2014 08:56, Arjen Markus <Arj...@de...<mailto:Arj...@de...>> wrote: Hi Thomas, If I understand you correctly, you are looking for an on-screen device that displays the results, drops out of the event loop to allow the program to continue and does not close, so that later on you can resume the plotting. (As I do not know PGPLOT, I want to make sure I understand it.) plspause() will do that indeed, but the graphics buffer may get in the way. Try using plflush() at the end of drawing the graph. I have not tried it, but I think that will help. Regards, Arjen From: Thomas Marsh [mailto:t.r...@wa...<mailto:t.r...@wa...>] Sent: Thursday, May 01, 2014 9:46 AM To: plp...@li...<mailto:plp...@li...> Subject: [Plplot-general] Does plplot have an equivalent of PGPLOT's /xserve device? Hello, I am new to plplot, but I am trying to check it for a number of applications I have in mind within C++ and Python codes as a replacement for PGPLOT which I have used for years. I am starting with the Python binding to explore plplot's features. The interactive device I use most of all with PGPLOT is "/xserve" which allows you to generate a plot that persists after a program / script exits and returns control to the terminal. I use this feature all the time. Within long running programs, it allows me to generate plots which I can look at while the program continues doing something else. With plplot's xwin or tk, I can get a plot that persists, but it seems to block until I have actively quitted it. I experimented with calling plspause(False) just before plend but then the plot just flashes briefly with tk and does not appear at all with xwin. I feel I am missing something obvious, but haven't found it yet. Thanks in advance for any help, tom DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Arjen M. <Arj...@de...> - 2014-05-01 11:07:51
|
Hi Tom, I have been thinking of a completely different solution: - Save the pictures in a file, like a PNG or a PDF file - Run an appropriate viewer from within your program (in the background) This way: - The computations can continue without involving multiprocessing - The pictures remain visible and can even be rerieved afterwards Regards, Arjen From: Arjen Markus [mailto:Arj...@de...] Sent: Thursday, May 01, 2014 10:56 AM To: Thomas Marsh Cc: plp...@li... Subject: Re: [Plplot-general] Does plplot have an equivalent of PGPLOT's /xserve device? Hi Tom, Hm, you want to have several independent windows then. I have no particular experience with that sort of a set-up. I do think PLplot was designed with that in mind and I will have to leave it to others to help you with this. One thing that you would have to deal with is merging two different programming models – the event-driven one for the graphics and the procedural one for your computations. That is possible, for instance via multiprocessing, but I am not entirely sure what the easiest way would be. Perhaps others have looked into this already. It is intriguing though … Regards, Arjen From: Thomas Marsh [mailto:t.r...@wa...]<mailto:[mailto:t.r...@wa...]> Sent: Thursday, May 01, 2014 10:49 AM To: Arjen Markus Cc: plp...@li...<mailto:plp...@li...> Subject: Re: [Plplot-general] Does plplot have an equivalent of PGPLOT's /xserve device? Hi Arjen, thanks for your reply. plflush *without* a plend sort of works with "tk", but has significant problems -- see below. What I want to do is not quite as you summarise; sorry for not being clear. Its not so much that I want to resume plotting -- I imagine plflush would be good for this -- but I want the plot to finish but then to persist and not simply disappear. I sometimes have multiple such plots in windows on my screen, potentially produced by independent scripts. When I am done with them I can click the "X" at the top-right to get rid of them. I have not managed to replicate this way of working with plplot. When I used plflush without plend, my test script exited and the plot remained (with "tk" but not "xwin"). I ran the script a couple of times and produced two such plots. However, hearing my laptop's fan crank up, a look with "top" revealed two processes called "plserver" each running at 120% CPU [server talking to non-existent script perhaps?], so I think the absence of "plend" was not good, and this solution is not workable. If I stick plend back in, then I get the same instant disappearance of the plot when I set plspause(False) whether I use plflush or not, unsuprisingly I think, as I imagine plend flushed the graphics. tom On 1 May 2014 08:56, Arjen Markus <Arj...@de...<mailto:Arj...@de...>> wrote: Hi Thomas, If I understand you correctly, you are looking for an on-screen device that displays the results, drops out of the event loop to allow the program to continue and does not close, so that later on you can resume the plotting. (As I do not know PGPLOT, I want to make sure I understand it.) plspause() will do that indeed, but the graphics buffer may get in the way. Try using plflush() at the end of drawing the graph. I have not tried it, but I think that will help. Regards, Arjen From: Thomas Marsh [mailto:t.r...@wa...<mailto:t.r...@wa...>] Sent: Thursday, May 01, 2014 9:46 AM To: plp...@li...<mailto:plp...@li...> Subject: [Plplot-general] Does plplot have an equivalent of PGPLOT's /xserve device? Hello, I am new to plplot, but I am trying to check it for a number of applications I have in mind within C++ and Python codes as a replacement for PGPLOT which I have used for years. I am starting with the Python binding to explore plplot's features. The interactive device I use most of all with PGPLOT is "/xserve" which allows you to generate a plot that persists after a program / script exits and returns control to the terminal. I use this feature all the time. Within long running programs, it allows me to generate plots which I can look at while the program continues doing something else. With plplot's xwin or tk, I can get a plot that persists, but it seems to block until I have actively quitted it. I experimented with calling plspause(False) just before plend but then the plot just flashes briefly with tk and does not appear at all with xwin. I feel I am missing something obvious, but haven't found it yet. Thanks in advance for any help, tom DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Thomas M. <t.r...@wa...> - 2014-05-01 11:18:56
|
Yes, I had thought of this, but I consider the need to invoke a viewer for each plot as quite an inconvenience and prefer just to save to disk when I really want to otherwise I will end up generating piles of one-off plots. tom On 1 May 2014 12:07, Arjen Markus <Arj...@de...> wrote: > Hi Tom, > > > > I have been thinking of a completely different solution: > > - Save the pictures in a file, like a PNG or a PDF file > > - Run an appropriate viewer from within your program (in the > background) > > > > This way: > > - The computations can continue without involving multiprocessing > > - The pictures remain visible and can even be rerieved afterwards > > > > Regards, > > > > Arjen > > > > *From:* Arjen Markus [mailto:Arj...@de...] > *Sent:* Thursday, May 01, 2014 10:56 AM > *To:* Thomas Marsh > *Cc:* plp...@li... > *Subject:* Re: [Plplot-general] Does plplot have an equivalent of > PGPLOT's /xserve device? > > > > Hi Tom, > > > > Hm, you want to have several independent windows then. I have no > particular experience with that sort of a set-up. I do think PLplot was > designed with that in mind and I will have to leave it to others to help > you with this. > > > > One thing that you would have to deal with is merging two different > programming models – the event-driven one for the graphics and the > procedural one for your computations. That is possible, for instance via > multiprocessing, but I am not entirely sure what the easiest way would be. > Perhaps others have looked into this already. It is intriguing though … > > > > Regards, > > > > Arjen > > > > *From:* Thomas Marsh [mailto:t.r...@wa...] > *Sent:* Thursday, May 01, 2014 10:49 AM > *To:* Arjen Markus > *Cc:* plp...@li... > *Subject:* Re: [Plplot-general] Does plplot have an equivalent of > PGPLOT's /xserve device? > > > > Hi Arjen, > > thanks for your reply. plflush *without* a plend sort of works with "tk", > but has significant problems -- see below. What I want to do is not quite > as you summarise; sorry for not being clear. Its not so much that I want to > resume plotting -- I imagine plflush would be good for this -- but I want > the plot to finish but then to persist and not simply disappear. I > sometimes have multiple such plots in windows on my screen, potentially > produced by independent scripts. When I am done with them I can click the > "X" at the top-right to get rid of them. I have not managed to replicate > this way of working with plplot. When I used plflush without plend, my test > script exited and the plot remained (with "tk" but not "xwin"). I ran the > script a couple of times and produced two such plots. However, hearing my > laptop's fan crank up, a look with "top" revealed two processes called > "plserver" each running at 120% CPU [server talking to non-existent script > perhaps?], so I think the absence of "plend" was not good, and this > solution is not workable. If I stick plend back in, then I get the same > instant disappearance of the plot when I set plspause(False) whether I use > plflush or not, unsuprisingly I think, as I imagine plend flushed the > graphics. > > tom > > > > > > On 1 May 2014 08:56, Arjen Markus <Arj...@de...> wrote: > > Hi Thomas, > > > > If I understand you correctly, you are looking for an on-screen device > that displays the results, drops out of the event loop to allow the program > to continue and does not close, so that later on you can resume the > plotting. (As I do not know PGPLOT, I want to make sure I understand it.) > plspause() will do that indeed, but the graphics buffer may get in the way. > > > > Try using plflush() at the end of drawing the graph. I have not tried it, > but I think that will help. > > > Regards, > > > > Arjen > > > > > > *From:* Thomas Marsh [mailto:t.r...@wa...] > *Sent:* Thursday, May 01, 2014 9:46 AM > *To:* plp...@li... > *Subject:* [Plplot-general] Does plplot have an equivalent of PGPLOT's > /xserve device? > > > > Hello, I am new to plplot, but I am trying to check it for a number of > applications I have in mind within C++ and Python codes as a replacement > for PGPLOT which I have used for years. I am starting with the Python > binding to explore plplot's features. The interactive device I use most of > all with PGPLOT is "/xserve" which allows you to generate a plot that > persists after a program / script exits and returns control to the > terminal. I use this feature all the time. Within long running programs, it > allows me to generate plots which I can look at while the program continues > doing something else. With plplot's xwin or tk, I can get a plot that > persists, but it seems to block until I have actively quitted it. I > experimented with calling plspause(False) just before plend but then the > plot just flashes briefly with tk and does not appear at all with xwin. > > I feel I am missing something obvious, but haven't found it yet. Thanks in > advance for any help, > > tom > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > > > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > |
From: Alan W. I. <ir...@be...> - 2014-05-01 15:51:11
|
P.S. I forgot to mention my examples work only if you use -DBUILD_TEST=ON as a cmake option. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Thomas M. <t.r...@wa...> - 2014-05-01 16:34:21
|
Thanks for your message Alan. I could run "make xwin" but the subsequent commands failed for some reason. Note however that I am able to run the Python version of plplot successfully already. I am not sure that what you describe is quite it. Does the example program exit before you exit the plot? (so that you could e.g type "ls" in the terminal from which you ran the example program, etc.) My guess is no. The equivalent in PGPLOT is the /xwindow device where it asks you to "hit <cr> for the next page:" and once you do this, the plot disappears and program execution continues (exiting if there is nothing left to do). The /xserve device does not produce the "hit <cr>" message but the program continues executing and the plot persists. The equivalent with plplot would be that the plot appears, the program exits but the plot still exists. As I understand /xserve, an independent server is created which carries on running even after the program that created it has exited. This for example allows you to run another script and write a new plot into the plot window, or if you want open and write to a new window (by specifying "2/xserve", "3/xserve" etc). Here is the minimal Python example of where it differs relative to PGPLOT's /xserve: plsdev("xwin") plinit() plspause(False) plend() [rest of code] This continues executing rest code, but no plot is produced. If I do instead: plsdev("xwin") plinit() plend() a plot is produced, but has to explicitly exited before program execution resumes. tom On 1 May 2014 16:49, Alan W. Irwin <ir...@be...> wrote: > On 2014-05-01 09:49+0100 Thomas Marsh wrote: > > > [...]What I want to do is not quite > > as you summarise; sorry for not being clear. Its not so much that I want > to > > resume plotting -- I imagine plflush would be good for this -- but I want > > the plot to finish but then to persist and not simply disappear. I > > sometimes have multiple such plots in windows on my screen, potentially > > produced by independent scripts. When I am done with them I can click the > > "X" at the top-right to get rid of them. I have not managed to replicate > > this way of working with plplot. > [...] > > Hi Tom: > > I have been following your conversation with Arjen with interest, and > I think what you describe above is exactly what we provide. But I > might be interpreting what you said above incorrectly so let me make > clear what we provide with an exact example. > > In the build tree, if I build the xwin device and one of the simplest > examples with the following commands: > > # Create xwin device and all its dependencies > make xwin > # Create a particular C example and all its dependencies > make x00c > > then when I run > > examples/c/x00c -dev xwin > > the plot persists on the screen and the C example does not quit. In > fact, I can resize that plot so it does remain active until I exit > from it (by hitting the enter key or clicking on the button to destroy > the X window). So it appears to me this default behaviour of the xwin > device is exactly what you described above. > > You expressed and interest in Python so here is the equivalent there > > # Create xwin device and all its dependencies > make xwin > # Create Python binding for PLplot > make _plplotcmodule_fixed > # Populate build tree with python examples > make python_examples > > Then run > > examples/python/x00 -dev xwin > > and that plot has the same desired characteristics as the C version above. > > Will you try either the C version or Python version of the concrete example > above, and let us know what (if anything) the difficulty might be? > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca). > > Programming affiliations with the FreeEOS equation-of-state > implementation for stellar interiors (freeeos.sf.net); the Time > Ephemerides project (timeephem.sf.net); PLplot scientific plotting > software package (plplot.sf.net); the libLASi project > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); > and the Linux Brochure Project (lbproject.sf.net). > __________________________ > > Linux-powered Science > __________________________ > |
From: Alan W. I. <ir...@be...> - 2014-05-01 17:34:31
|
Hi Tom: On 2014-05-01 17:33+0100 Thomas Marsh wrote: > Thanks for your message Alan. I could run "make xwin" but the subsequent > commands failed for some reason. Could you be more explicit about exactly what you did, and the error messages that were generated? I was careful to verify the commands I suggested so those suggested C and Python tests work for me, and I am quite surprised they do not work for you. > Note however that I am able to run the > Python version of plplot successfully already. I am not sure that what you > describe is quite it. Does the example program exit before you exit the > plot? (so that you could e.g type "ls" in the terminal from which you ran > the example program, etc.) My guess is no. The equivalent in PGPLOT is the > /xwindow device where it asks you to "hit <cr> for the next page:" and once > you do this, the plot disappears and program execution continues (exiting > if there is nothing left to do). The /xserve device does not produce the > "hit <cr>" message but the program continues executing and the plot > persists. The equivalent with plplot would be that the plot appears, the > program exits but the plot still exists. As I understand /xserve, an > independent server is created which carries on running even after the > program that created it has exited. This for example allows you to run > another script and write a new plot into the plot window, or if you want > open and write to a new window (by specifying "2/xserve", "3/xserve" etc). > > Here is the minimal Python example of where it differs relative to PGPLOT's > /xserve: > > plsdev("xwin") > plinit() > plspause(False) > plend() > > [rest of code] > > This continues executing rest code, but no plot is produced. If I do > instead: > > plsdev("xwin") > plinit() > plend() > > a plot is produced, but has to explicitly exited before program execution > resumes. Thanks for this clarification of your needs. In answer to your specific question above, the example program does not exit before you exit the plot, but I suggest you verify that yourself by running the exact C and Python tests I recommended (i.e., follow up on why you could not reproduce those simple test cases) to make absolutely sure we are talking about the same things. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Thomas M. <t.r...@wa...> - 2014-05-01 18:03:25
|
yes of course: here is a cut-and-paste: cd pgplot_build [the directory I created for building] make xwin [ 0%] Built target plhershey-unicode-gen [ 7%] Built target plhershey-unicode.h_built [ 7%] Built target csirocsa [ 15%] Built target deltaT-gen [ 15%] Built target deltaT.h_built [ 15%] Built target tai-utc-gen [ 15%] Built target tai-utc.h_built [ 15%] Built target qsastime [ 92%] Built target plplotd [100%] Built target xwin make _plplotcmodule_fixed make: *** No rule to make target `_plplotcmodule_fixed'. Stop. tom On 1 May 2014 18:34, Alan W. Irwin <ir...@be...> wrote: > Hi Tom: > > On 2014-05-01 17:33+0100 Thomas Marsh wrote: > > > Thanks for your message Alan. I could run "make xwin" but the subsequent > > commands failed for some reason. > > Could you be more explicit about exactly what you did, and the error > messages that were generated? I was careful to verify the commands I > suggested so those suggested C and Python tests work for me, and I am > quite surprised they do not work for you. > > > Note however that I am able to run the > > Python version of plplot successfully already. I am not sure that what > you > > describe is quite it. Does the example program exit before you exit the > > plot? (so that you could e.g type "ls" in the terminal from which you ran > > the example program, etc.) My guess is no. The equivalent in PGPLOT is > the > > /xwindow device where it asks you to "hit <cr> for the next page:" and > once > > you do this, the plot disappears and program execution continues (exiting > > if there is nothing left to do). The /xserve device does not produce the > > "hit <cr>" message but the program continues executing and the plot > > persists. The equivalent with plplot would be that the plot appears, the > > program exits but the plot still exists. As I understand /xserve, an > > independent server is created which carries on running even after the > > program that created it has exited. This for example allows you to run > > another script and write a new plot into the plot window, or if you want > > open and write to a new window (by specifying "2/xserve", "3/xserve" > etc). > > > > Here is the minimal Python example of where it differs relative to > PGPLOT's > > /xserve: > > > > plsdev("xwin") > > plinit() > > plspause(False) > > plend() > > > > [rest of code] > > > > This continues executing rest code, but no plot is produced. If I do > > instead: > > > > plsdev("xwin") > > plinit() > > plend() > > > > a plot is produced, but has to explicitly exited before program execution > > resumes. > > Thanks for this clarification of your needs. In answer to your > specific question above, the example program does not exit before you > exit the plot, but I suggest you verify that yourself by running the > exact C and Python tests I recommended (i.e., follow up on why you > could not reproduce those simple test cases) to make absolutely sure > we are talking about the same things. > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca). > > Programming affiliations with the FreeEOS equation-of-state > implementation for stellar interiors (freeeos.sf.net); the Time > Ephemerides project (timeephem.sf.net); PLplot scientific plotting > software package (plplot.sf.net); the libLASi project > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); > and the Linux Brochure Project (lbproject.sf.net). > __________________________ > > Linux-powered Science > __________________________ > |
From: Alan W. I. <ir...@be...> - 2014-05-01 18:59:56
|
On 2014-05-01 19:02+0100 Thomas Marsh wrote: > yes of course: here is a cut-and-paste: > > cd pgplot_build [the directory I created for building] > > make xwin > [ 0%] Built target plhershey-unicode-gen > [ 7%] Built target plhershey-unicode.h_built > [ 7%] Built target csirocsa > [ 15%] Built target deltaT-gen > [ 15%] Built target deltaT.h_built > [ 15%] Built target tai-utc-gen > [ 15%] Built target tai-utc.h_built > [ 15%] Built target qsastime > [ 92%] Built target plplotd > [100%] Built target xwin > > make _plplotcmodule_fixed > make: *** No rule to make target `_plplotcmodule_fixed'. Stop. OK. The _plplotcmodule_fixed target is a relatively recent addition (that allows us to use UTF-8 Python doc strings for all the commands in our Python binding). Please try the svn trunk version instead of 5.10.0. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |