|
From: Ethan A M. <merritt@u.washington.edu> - 2007-07-02 01:12:06
|
On Sunday 01 July 2007 16:41, Daniel J Sebald wrote: > The following is confusing to me: > > " The `volatile` keyword indicates that the contents of the data file > may be different if the file is re-read. This tells the program to > use `refresh` rather than `replot` commands whenever possible. > > I assume "tells the program" means "tells gnuplot". But beyond that, the interpretation of this is more left to the user. OK, "volatile" is clear. But for one user it may be desired that the volatile files be reread with every new "replot", for another user it may be desired that the volatile files not be reread. Exactly. That's why they get a choice of whether to use the keyword or not. If you know the data may change, but you want to zoom and play aroung with the the existing plot without reading in new data, then you plot it with "volatile". This tells gnuplot to keep using the old data rather than reading in new data. If you want to update the display with the newest available data every time you hit the 'e' key, then you *don't* flag it volatile. Hmmm, yes I see that could be a bit confusing. I'll ponder a better way to describe it. > In other words "volatile" is an accurate word, but implication is somewhat ambiguous. Feel free to suggest better wording, or even a different keyword. The basic point is to provide a way to say "reread every time" vs. "reread only when there's no other option". > The other thing I don't like is the "whenever possible". I've been trying to make the point that unless there is precise behavior for this feature the "whenever possible" is going to make the user or programmer give up in futility because he or she won't know when datafiles are actually reread. "Not when log/unlog via mouse or set", "not when there are splines", "not for this condition", etc. "The perfect is the enemy of the good". For the last 20 years gnuplot has not allowed you to zoom volatile data. Mostly it's been a minor annoyance. Now there's a reason to support it, since Octave sends data in-line. But you are taking the extreme position that a patch to fix this is no good unless it also re-works log/unlog axis rescaling. I just don't get it. I'm perfectly happy to see the axis scaling cleaned up. But it's an orthogonal issue. Besides which, in all the years that I've used gnuplot (less then 20 but more than 10 :-) I've never wanted to toggle log scale with a hot key. Is this really so important to you? > I'd say drop the "volatile" keyword. Then two methods are acceptable. > One, there are two commands "replot/refresh" in which "replot" *always* > rereads files and "refresh" *always* retrieves the data from memory. That is exactly what I implemented. If you have found a case in which it doesn't act this way, please report it as a bug. The "volatile" keyword does not affect this. Perhaps my documentation and description is inadequate, since you seem to misunderstand what the patch actually does. I welcome your help in improving the documentation, but I do not agree with you that the log/unlog business is particularly relevant. It's a footnote at best: "Please note that the 'l' and 'L' hotkeys are disabled if the plot contains in-line or volatile data". -- Ethan A Merritt |