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 …
From: Thomas Marsh [mailto:email@example.com]
Sent: Thursday, May 01, 2014 10:49 AM
To: Arjen Markus
Subject: Re: [Plplot-general] Does plplot have an equivalent of PGPLOT's /xserve device?
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.
On 1 May 2014 08:56, Arjen Markus <Arjen.Markus@deltares.nl> wrote:
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.
Sent: Thursday, May 01, 2014 9:46 AM
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,
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.