You can subscribe to this list here.
| 2001 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(83) |
Nov
(57) |
Dec
(111) |
| 2004 |
Jan
(38) |
Feb
(121) |
Mar
(107) |
Apr
(241) |
May
(102) |
Jun
(190) |
Jul
(239) |
Aug
(158) |
Sep
(184) |
Oct
(193) |
Nov
(47) |
Dec
(68) |
| 2005 |
Jan
(190) |
Feb
(105) |
Mar
(99) |
Apr
(65) |
May
(92) |
Jun
(250) |
Jul
(197) |
Aug
(128) |
Sep
(101) |
Oct
(183) |
Nov
(186) |
Dec
(42) |
| 2006 |
Jan
(102) |
Feb
(122) |
Mar
(154) |
Apr
(196) |
May
(181) |
Jun
(281) |
Jul
(310) |
Aug
(198) |
Sep
(145) |
Oct
(188) |
Nov
(134) |
Dec
(90) |
| 2007 |
Jan
(134) |
Feb
(181) |
Mar
(157) |
Apr
(57) |
May
(81) |
Jun
(204) |
Jul
(60) |
Aug
(37) |
Sep
(17) |
Oct
(90) |
Nov
(122) |
Dec
(72) |
| 2008 |
Jan
(130) |
Feb
(108) |
Mar
(160) |
Apr
(38) |
May
(83) |
Jun
(42) |
Jul
(75) |
Aug
(16) |
Sep
(71) |
Oct
(57) |
Nov
(59) |
Dec
(152) |
| 2009 |
Jan
(73) |
Feb
(213) |
Mar
(67) |
Apr
(40) |
May
(46) |
Jun
(82) |
Jul
(73) |
Aug
(57) |
Sep
(108) |
Oct
(36) |
Nov
(153) |
Dec
(77) |
| 2010 |
Jan
(42) |
Feb
(171) |
Mar
(150) |
Apr
(6) |
May
(22) |
Jun
(34) |
Jul
(31) |
Aug
(38) |
Sep
(32) |
Oct
(59) |
Nov
(13) |
Dec
(62) |
| 2011 |
Jan
(114) |
Feb
(139) |
Mar
(126) |
Apr
(51) |
May
(53) |
Jun
(29) |
Jul
(41) |
Aug
(29) |
Sep
(35) |
Oct
(87) |
Nov
(42) |
Dec
(20) |
| 2012 |
Jan
(111) |
Feb
(66) |
Mar
(35) |
Apr
(59) |
May
(71) |
Jun
(32) |
Jul
(11) |
Aug
(48) |
Sep
(60) |
Oct
(87) |
Nov
(16) |
Dec
(38) |
| 2013 |
Jan
(5) |
Feb
(19) |
Mar
(41) |
Apr
(47) |
May
(14) |
Jun
(32) |
Jul
(18) |
Aug
(68) |
Sep
(9) |
Oct
(42) |
Nov
(12) |
Dec
(10) |
| 2014 |
Jan
(14) |
Feb
(139) |
Mar
(137) |
Apr
(66) |
May
(72) |
Jun
(142) |
Jul
(70) |
Aug
(31) |
Sep
(39) |
Oct
(98) |
Nov
(133) |
Dec
(44) |
| 2015 |
Jan
(70) |
Feb
(27) |
Mar
(36) |
Apr
(11) |
May
(15) |
Jun
(70) |
Jul
(30) |
Aug
(63) |
Sep
(18) |
Oct
(15) |
Nov
(42) |
Dec
(29) |
| 2016 |
Jan
(37) |
Feb
(48) |
Mar
(59) |
Apr
(28) |
May
(30) |
Jun
(43) |
Jul
(47) |
Aug
(14) |
Sep
(21) |
Oct
(26) |
Nov
(10) |
Dec
(2) |
| 2017 |
Jan
(26) |
Feb
(27) |
Mar
(44) |
Apr
(11) |
May
(32) |
Jun
(28) |
Jul
(75) |
Aug
(45) |
Sep
(35) |
Oct
(285) |
Nov
(99) |
Dec
(16) |
| 2018 |
Jan
(8) |
Feb
(8) |
Mar
(42) |
Apr
(35) |
May
(23) |
Jun
(12) |
Jul
(16) |
Aug
(11) |
Sep
(8) |
Oct
(16) |
Nov
(5) |
Dec
(8) |
| 2019 |
Jan
(9) |
Feb
(28) |
Mar
(4) |
Apr
(10) |
May
(7) |
Jun
(4) |
Jul
(4) |
Aug
|
Sep
(4) |
Oct
|
Nov
(23) |
Dec
(3) |
| 2020 |
Jan
(19) |
Feb
(3) |
Mar
(22) |
Apr
(17) |
May
(10) |
Jun
(69) |
Jul
(18) |
Aug
(23) |
Sep
(25) |
Oct
(11) |
Nov
(20) |
Dec
(9) |
| 2021 |
Jan
(1) |
Feb
(7) |
Mar
(9) |
Apr
|
May
(1) |
Jun
(8) |
Jul
(6) |
Aug
(8) |
Sep
(7) |
Oct
|
Nov
(2) |
Dec
(23) |
| 2022 |
Jan
(23) |
Feb
(9) |
Mar
(9) |
Apr
|
May
(8) |
Jun
(1) |
Jul
(6) |
Aug
(8) |
Sep
(30) |
Oct
(5) |
Nov
(4) |
Dec
(6) |
| 2023 |
Jan
(2) |
Feb
(5) |
Mar
(7) |
Apr
(3) |
May
(8) |
Jun
(45) |
Jul
(8) |
Aug
|
Sep
(2) |
Oct
(14) |
Nov
(7) |
Dec
(2) |
| 2024 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
(4) |
Dec
(14) |
| 2025 |
Jan
(22) |
Feb
(6) |
Mar
(5) |
Apr
(14) |
May
(6) |
Jun
(11) |
Jul
(19) |
Aug
|
Sep
(17) |
Oct
(1) |
Nov
(2) |
Dec
(18) |
| 2026 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
(2) |
Jun
(1) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Allin C. <cot...@wf...> - 2012-05-16 20:17:31
|
On Wed, 16 May 2012, Daniel J Sebald wrote: > On 05/16/2012 11:50 AM, Allin Cottrell wrote: >> On Wed, 16 May 2012, Daniel J Sebald wrote: >> >>> Perhaps there should be a mode switch, "use the same data" or "don't >>> reread". But I'm not sure how crucial that is. >> >> Just a notion, but what if gnuplot's syntax permitted defining a matrix >> (either "inline" with some nice, simple syntax or by reading from a >> file), and you could then say something like >> >> plot matrix "foo" using ... >> >> as many times as you wanted, using whichever columns? > > Well, that's a paradigm change as far as programming because the whole plot > command would need to be processed to figure out what columns are required > for _all_ plots not just the current one. The way I'm thinking about this, no look-ahead is needed. All gnuplot has to do is store the given matrix (all of it), then draw on it as and when specified. I'm mooting this as an extension of the way that gnuplot can currently store scalars (and complex numbers) for future use, without having any idea at the time what they'll be used for. This strikes me as a lot more straightforward than messing with the way datafiles and stdin currently work. Allin Cottrell |
|
From: <pl...@pi...> - 2012-05-16 20:02:10
|
On 05/16/12 18:35, Daniel J Sebald wrote: > Perhaps there should be a mode switch, "use the same data" or "don't > reread". But I'm not sure how crucial that is. Isn't that what I was suggesting using plot '--' (double minus sign) ? If the read-in data is buffered, that would fix Ethan's worry about this not working the same from pipes. Peter. |
|
From: Daniel J S. <dan...@ie...> - 2012-05-16 19:56:29
|
On 05/16/2012 02:43 PM, pl...@pi... wrote: > On 05/16/12 18:35, Daniel J Sebald wrote: >> Perhaps there should be a mode switch, "use the same data" or "don't >> reread". But I'm not sure how crucial that is. > > > Isn't that what I was suggesting using plot '--' (double minus sign) ? Sure, but it is slightly confusing because... > If the read-in data is buffered, that would fix Ethan's worry about this > not working the same from pipes. Your previous email pointed out a problem with 'datafile' reread on ARM at a particular instant. There would then need to be something analogous to '-' and '--' but for data files. OR, the default for datafiles could be to buffer the data (no easy task given gnuplot wasn't built that way from the ground up). But if the default for datafiles is to buffer data, then '--' becomes analogous to 'datafile' as the default behavior, and '-' becomes the special case. With a mode switch, there is a bit less confusion, but that too has its drawbacks. Dan |
|
From: <pl...@pi...> - 2012-05-16 19:47:12
|
On 05/16/12 18:35, Daniel J Sebald wrote: > However, this isn't as different as you think. I would guess that if > "datafile" were changed at an instant between when gnuplot does the two > plots, the two plots would look different. The analogy is typing the > same thing at the keyboard or pipe when using '-'. > > Perhaps there should be a mode switch, "use the same data" or "don't > reread". But I'm not sure how crucial that is. This is not so hypothetical and improbably as it may seem. Some of my embedded plots take 16-20s to run the ARM hardware I'm using. It is totally possible (maybe probable) that the source file could change in that time. Since the time between the first plot and the second one is a fairly arbitrary one, depending up on the hardware and the length of data , I can't see it being a useful feature. Maybe someone else can. The trivial case I gave was intentionally simplistic. Consider this variation: plot datafile using 1:2 , '' using 1:3 Now both these lines are coming out on the same plot , I would expect it to be a snapshot of the data at the same point in time. We are almost certainly going to be comparing them. Currently there is a possibility that the two lines represent different states of the data set. If they were not coincident in time it could lead to misrepresentation or misinterpretation. I would consider it a defect. Peter. |
|
From: Daniel J S. <dan...@ie...> - 2012-05-16 17:44:35
|
On 05/16/2012 11:50 AM, Allin Cottrell wrote: > On Wed, 16 May 2012, Daniel J Sebald wrote: > >> Perhaps there should be a mode switch, "use the same data" or "don't >> reread". But I'm not sure how crucial that is. > > Just a notion, but what if gnuplot's syntax permitted defining a matrix > (either "inline" with some nice, simple syntax or by reading from a > file), and you could then say something like > > plot matrix "foo" using ... > > as many times as you wanted, using whichever columns? Well, that's a paradigm change as far as programming because the whole plot command would need to be processed to figure out what columns are required for _all_ plots not just the current one. That also expands the number of possible storage elements creates difficult programming in this design. Currently, the data file could be (exaggerating) 1000 columns wide but for any given plot gnuplot selects and stores only the few columns of data it needs for individual plots (say column 1, column 50 and column 51 on the first plot). It does the same for the next plot, but it rereads the file and might select a different few columns (say column 1, column 120, column 121). Attempting an explanation, gnuplot has been programmed in such a way as to not "look ahead" at what is to come. Changing to a system that needs to "look ahead" for plots that are to come really creates challenges internally. gnuplot started in an era in which memory wasn't so readily available, but at the same time I think it should probably remain close to the parsimonious paradigm as possible. In my opinion, software generally has become a little too bloated. I did write a patch a while back that stored the raw data, sort of bucking that paradigm, but that was storing just the columns of data an individual plot uses, not the whole possible data file, i.e., no "look ahead" but instead "store what has been used". Dan |
|
From: Allin C. <cot...@wf...> - 2012-05-16 17:17:24
|
On Wed, 16 May 2012, Daniel J Sebald wrote: > Perhaps there should be a mode switch, "use the same data" > or "don't reread". But I'm not sure how crucial that is. Just a notion, but what if gnuplot's syntax permitted defining a matrix (either "inline" with some nice, simple syntax or by reading from a file), and you could then say something like plot matrix "foo" using ... as many times as you wanted, using whichever columns? Allin Cottrell |
|
From: Daniel J S. <dan...@ie...> - 2012-05-16 16:36:12
|
On 05/16/2012 02:35 AM, pl...@pi... wrote: > On 05/16/12 06:56, sfeam (Ethan Merritt) wrote: >> On Monday, 14 May 2012, su...@pi... wrote: >>> On 05/14/12 18:27, Ethan A Merritt wrote: >>>>>> So could another flag like plot '--' be used to indicate rereading of >>>>>> the inline data rather than continuing at the next block of inline data ? >>>> This wouldn't work in the general case - you can't reread from a pipe. >>> >>> hmm. I hadn't thought of "inline" data actually being a pipe. Good point. >>> >>> perhaps that could be accepted as a limitation on reading from pipes. >>> It would not reduce the functionality that is already available to pipes. >> >> Up till now, the following have all been equivalent: >> gnuplot file.in >> cat file.in | gnuplot >> cat file.in | gnuplot - >> gnuplot -e 'load file.in' >> >> I think it would be a bad idea to introduce new syntax that breaks >> this equivalence. > > I agree, I like that sort of symmetry. > > Part of the problem here is that plot '-' does not work in quite the > same way as plot datafile > > plot '-','-' plots two consecutive segments from stdin whereas plot > datafile , datafile rereads the file and plots the same thing twice. I see the point. > This is presumably because you can't reread a pipe but it means plot > command is acting differently depending on the data source specified. It wouldn't be difficult to program this so that the same data is used multiple times. There has always been incentive to store the original data for redrawing purposes other than this, and I think I had written a patch some time ago that does that. However, this isn't as different as you think. I would guess that if "datafile" were changed at an instant between when gnuplot does the two plots, the two plots would look different. The analogy is typing the same thing at the keyboard or pipe when using '-'. Perhaps there should be a mode switch, "use the same data" or "don't reread". But I'm not sure how crucial that is. > >>Consider: > >> plot '-' using 1:2, '' using 3:4, '' using 99:100 > >> The first plot uses only columns 1 and 2; these values are stored > >> internally and could be used again without rereading. That's what the > >> "refresh" command does. But the 2nd and 3rd plots use data values > from > >> columns we didn't use the first time and hence didn't keep. > >> So those values can only be recovered by rereading. > > > Since this is all in one plot command , couldn't the whole line be > > parsed to find all the columns to be required by all the using clauses? > > > > In fact isn't this already done? Are you implying that > > > > plot datafile using 1:2, '' using 3:4, '' using 99:100 > > > > actually reads the data file three times looking at different columns :? > > >> Yes. > > So if I get this, > > gnuplot> plot datafile using 1:2, '' using 3:4 > > opens and reads same lines of the file twice. Filling two sets of slots > > > gnuplot> plot '-' using 1:2, '' using 3:4 > > reads consecutively from stdin , twice. Filling two sets of slots > > > It would be more efficient if the first version parsed the whole line to > find all required columns and did one read. I do plots with 5 or 6 > lines, this could be a useful improvement. This creates some logistical problems of storing the data or accessing the data at different times between different sections of code. It is all dependent upon the way gnuplot is programmed internally. When gnuplot started long ago, that was sort of the paradigm; linear run the data through various steps. I did write a patch at some point that stores the unprocessed data and can feed it through a second, third, etc. time. That is still the same paradigm so not much change to gnuplots innards (requires lots of memory so it would be nice to deactivate such a feature). > Then the suggested '--' could work with no extra effort. > gnuplot> plot '--' using 1:2, '' using 3:4 > > > The asymmetrical behaviour of the existing plot '-' would still need a > different code path. Have to think about this, because again it isn't clear that '-' and 'datafile' are currently acting differently. >> If the previous work-around I suggested is too >> long-winded, requiring a "print" and matching quotes on each line, >> how about introducing an idea from perl: >> >> set print 'tempfile.dat' >> print<< EOF >> 1st line of data >> 2nd line of data >> 3rd line of data >> EOF >> > > Yes , I was looking for something like that yesterday. I think that > would be a useful addition in a number of situations. > > However, rewriting all the data in the current file to another > superfluous copy just to get around the syntax seems a bit clunky. Yes, but that is the nature of gnuplot going back to the beginning. What you are suggesting is a pretty fundamental change. Dan |
|
From: <pl...@pi...> - 2012-05-16 08:52:17
|
On 05/16/12 06:56, sfeam (Ethan Merritt) wrote: > On Monday, 14 May 2012, su...@pi... wrote: >> On 05/14/12 18:27, Ethan A Merritt wrote: >>>>> So could another flag like plot '--' be used to indicate rereading of >>>>> the inline data rather than continuing at the next block of inline data ? >>> This wouldn't work in the general case - you can't reread from a pipe. >> >> hmm. I hadn't thought of "inline" data actually being a pipe. Good point. >> >> perhaps that could be accepted as a limitation on reading from pipes. >> It would not reduce the functionality that is already available to pipes. > > Up till now, the following have all been equivalent: > gnuplot file.in > cat file.in | gnuplot > cat file.in | gnuplot - > gnuplot -e 'load file.in' > > I think it would be a bad idea to introduce new syntax that breaks > this equivalence. I agree, I like that sort of symmetry. Part of the problem here is that plot '-' does not work in quite the same way as plot datafile plot '-','-' plots two consecutive segments from stdin whereas plot datafile , datafile rereads the file and plots the same thing twice. This is presumably because you can't reread a pipe but it means plot command is acting differently depending on the data source specified. >>Consider: >> plot '-' using 1:2, '' using 3:4, '' using 99:100 >> The first plot uses only columns 1 and 2; these values are stored >> internally and could be used again without rereading. That's what the >> "refresh" command does. But the 2nd and 3rd plots use data values from >> columns we didn't use the first time and hence didn't keep. >> So those values can only be recovered by rereading. > Since this is all in one plot command , couldn't the whole line be > parsed to find all the columns to be required by all the using clauses? > > In fact isn't this already done? Are you implying that > > plot datafile using 1:2, '' using 3:4, '' using 99:100 > > actually reads the data file three times looking at different columns :? >> Yes. So if I get this, gnuplot> plot datafile using 1:2, '' using 3:4 opens and reads same lines of the file twice. Filling two sets of slots gnuplot> plot '-' using 1:2, '' using 3:4 reads consecutively from stdin , twice. Filling two sets of slots It would be more efficient if the first version parsed the whole line to find all required columns and did one read. I do plots with 5 or 6 lines, this could be a useful improvement. Then the suggested '--' could work with no extra effort. gnuplot> plot '--' using 1:2, '' using 3:4 The asymmetrical behaviour of the existing plot '-' would still need a different code path. > If the previous work-around I suggested is too > long-winded, requiring a "print" and matching quotes on each line, > how about introducing an idea from perl: > > set print 'tempfile.dat' > print<< EOF > 1st line of data > 2nd line of data > 3rd line of data > EOF > Yes , I was looking for something like that yesterday. I think that would be a useful addition in a number of situations. However, rewriting all the data in the current file to another superfluous copy just to get around the syntax seems a bit clunky. regards, Peter. > Ethan > |
|
From: Ethan M. <merritt@u.washington.edu> - 2012-05-16 04:48:10
|
On Tuesday, 15 May 2012, Shigeharu TAKENO wrote: > shige 05/15 2012 > ---------------- > > In docs/gnuplot.doc of current CVS version > > C RCS $Id: gnuplot.doc,v 1.731 2012/05/02 05:01:48 sfeam Exp $ > > I found the following points which may be typo: Got it. Thanks. Ethan > ----- From here ----- > --- docs/gnuplot.doc.ORG 2012-05-15 16:31:45.000000000 +0900 > +++ docs/gnuplot.doc 2012-05-15 16:32:42.000000000 +0900 > @@ -6722,7 +6722,7 @@ > A coordinate system specifier does not carry over from the first endpoint > description the second. > > - 1) "to <position>" specifies the absolute coordinates of the other end.. > + 1) "to <position>" specifies the absolute coordinates of the other end. > > 2) "rto <position>" specifies an offset to the "from" position. For linear > axes, `graph` and `screen` coordinates, the distance between the start and the > @@ -11129,7 +11129,7 @@ > ?show style circle > > Syntax: > - set style circle {radius {graph|screen} <R>} {{no}wedge > + set style circle {radius {graph|screen} <R>} {{no}wedge} > > This command sets the default radius used in plot style "with circles". It > applies to data plots with only 2 columns of data (x,y) and to function plots. > ----- To here ----- > > +========================================================+ > Shigeharu TAKENO NIigata Institute of Technology > kashiwazaki,Niigata 945-1195 JAPAN > sh...@ie... TEL(&FAX): +81-257-22-8161 > +========================================================+ |
|
From: Shigeharu T. <sh...@ie...> - 2012-05-15 07:50:28
|
shige 05/15 2012 ---------------- In docs/gnuplot.doc of current CVS version C RCS $Id: gnuplot.doc,v 1.731 2012/05/02 05:01:48 sfeam Exp $ I found the following points which may be typo: ----- From here ----- --- docs/gnuplot.doc.ORG 2012-05-15 16:31:45.000000000 +0900 +++ docs/gnuplot.doc 2012-05-15 16:32:42.000000000 +0900 @@ -6722,7 +6722,7 @@ A coordinate system specifier does not carry over from the first endpoint description the second. - 1) "to <position>" specifies the absolute coordinates of the other end.. + 1) "to <position>" specifies the absolute coordinates of the other end. 2) "rto <position>" specifies an offset to the "from" position. For linear axes, `graph` and `screen` coordinates, the distance between the start and the @@ -11129,7 +11129,7 @@ ?show style circle Syntax: - set style circle {radius {graph|screen} <R>} {{no}wedge + set style circle {radius {graph|screen} <R>} {{no}wedge} This command sets the default radius used in plot style "with circles". It applies to data plots with only 2 columns of data (x,y) and to function plots. ----- To here ----- +========================================================+ Shigeharu TAKENO NIigata Institute of Technology kashiwazaki,Niigata 945-1195 JAPAN sh...@ie... TEL(&FAX): +81-257-22-8161 +========================================================+ |
|
From: Allin C. <cot...@wf...> - 2012-05-15 00:19:02
|
On Mon, 14 May 2012, Hans-Bernhard Bröker wrote: > On 14.05.2012 19:13, Allin Cottrell wrote: > >> On the other hand, with the plot-file syntax > >> plot '-' using ... >> <inline-data> >> e > >> it's sort of a fiction that the source is stdin, isn't it? > > No. Because that's not "plot file syntax". That's gnuplot command syntax, > which can and quite frequently will be entered on stdin --- either by > actually typing it in, or copy-pasting into a console session, or by stdin > being redirected from a file, or from some other program. Insofar as the snippet I posted is actually entered on stdin, or by the other methods you cite, then Yes, the "stdin" quality of the data is not in question. But plotter and I were talking about the use of this syntax in an integrated plot file, and in that context the "stdin-ness" is a fiction; the data are supplied "as if" via stdin. Allin Cottrell |
|
From: Hans-Bernhard B. <HBB...@t-...> - 2012-05-14 20:28:40
|
On 14.05.2012 19:13, Allin Cottrell wrote: > On the other hand, with the plot-file syntax > plot '-' using ... > <inline-data> > e > it's sort of a fiction that the source is stdin, isn't it? No. Because that's not "plot file syntax". That's gnuplot command syntax, which can and quite frequently will be entered on stdin --- either by actually typing it in, or copy-pasting into a console session, or by stdin being redirected from a file, or from some other program. |
|
From: Ethan A M. <sf...@us...> - 2012-05-14 18:08:11
|
On Monday, May 14, 2012 10:19:01 am pl...@pi... wrote: > On 05/14/12 18:27, Ethan A Merritt wrote: > > The next obvious thought is "can't we remember the values we just read > > and re-use them if necessary?". But that doesn't work either. > > Consider: > > plot '-' using 1:2, '' using 3:4, '' using 99:100 > > The first plot uses only columns 1 and 2; these values are stored > > internally and could be used again without rereading. That's what the > > "refresh" command does. But the 2nd and 3rd plots use data values from > > columns we didn't use the first time and hence didn't keep. > > So those values can only be recovered by rereading. > > Since this is all in one plot command , couldn't the whole line be > parsed to find all the columns to be required by all the using clauses? > > In fact isn't this already done? Are you implying that > > plot datafile using 1:2, '' using 3:4, '' using 99:100 > > actually reads the data file three times looking at different columns :? Yes. The internal structures that hold data reserve 7 slots for each input data point. These 7 slots are just barely enough to hold x/y/width/xerr/yerr/color/pointsize/etc of the various plot modes. There is no mechanism or structure to store an arbitrary number of additional raw data columns for each line of input. Ethan |
|
From: <pl...@pi...> - 2012-05-14 17:19:03
|
On 05/14/12 18:27, Ethan A Merritt wrote: > The next obvious thought is "can't we remember the values we just read > and re-use them if necessary?". But that doesn't work either. > Consider: > plot '-' using 1:2, '' using 3:4, '' using 99:100 > The first plot uses only columns 1 and 2; these values are stored > internally and could be used again without rereading. That's what the > "refresh" command does. But the 2nd and 3rd plots use data values from > columns we didn't use the first time and hence didn't keep. > So those values can only be recovered by rereading. Since this is all in one plot command , couldn't the whole line be parsed to find all the columns to be required by all the using clauses? In fact isn't this already done? Are you implying that plot datafile using 1:2, '' using 3:4, '' using 99:100 actually reads the data file three times looking at different columns :? thx, Peter. |
|
From: Allin C. <cot...@wf...> - 2012-05-14 17:14:16
|
On Mon, 14 May 2012, Ethan A Merritt wrote: > On Monday, May 14, 2012 08:12:25 am pl...@pi... wrote: >> On 05/14/12 14:52, Allin Cottrell wrote: >>> On Mon, 14 May 2012, Mojca Miklavec wrote: >>> >>>> Simply use empty quotation marks: >>>> plot "fast.log" using 1:2 t "systolic" w l, "" using ... >>> >>> This doesn't work in the context plotter specified, namely when you >>> replace the data file "fast.log" with inline data in the plot file, >>> using "plot '-'". >>> >>> I too would be interested to know if there's any way to avoid repeating >>> the inline data when plotting multiple lines. [...] >> >> unless someone points out a trick we're missing perhaps the plot '-' >> feature could be extended to act in same way as a named file. > > It _does_ act in the same way as a named file. The empty quotes indicate > that the previous source of data should be read again. With the source in this case being stdin, which has "moved on" by the time you attempt a second read, so you come up empty-handed. I see your point. On the other hand, with the plot-file syntax plot '-' using ... <inline-data> e it's sort of a fiction that the source is stdin, isn't it? (Albeit a well established fiction.) I wonder if it would be worth adding another "dummy" input, something like plot inline using ... <inline-data> e where the inline data would be read into an array and could be reused at will. > The closest I can think of still requires the use of a temporary file. > The script would do: > set print "tempfile.dat' > print "first data line" > print "second data line" > ... > print "last data line" > > plot 'tempfile.dat' using 1:2, '' using 3:4, '' using 99:100 Ah, that's clever. Not quite as nice as "inline" (if it were possible) but it serves the purpose of storing the data and the plot spec in a single file. Allin Cottrell |
|
From: Ethan A M. <sf...@us...> - 2012-05-14 16:28:29
|
On Monday, May 14, 2012 08:12:25 am pl...@pi... wrote:
> On 05/14/12 14:52, Allin Cottrell wrote:
> > On Mon, 14 May 2012, Mojca Miklavec wrote:
> >
> >> Simply use empty quotation marks:
> >> plot "fast.log" using 1:2 t "systolic" w l, "" using ...
> >
> > This doesn't work in the context plotter specified, namely when you
> > replace the data file "fast.log" with inline data in the plot file,
> > using "plot '-'".
> >
> > I too would be interested to know if there's any way to avoid repeating
> > the inline data when plotting multiple lines.
> >
> > Allin Cottrell
>
> Thanks Allin,
>
> unless someone points out a trick we're missing perhaps the plot '-'
> feature could be extended to act in same way as a named file.
It _does_ act in the same way as a named file. The empty quotes indicate
that the previous source of data should be read again.
> It seems that plot '-', '-' already has a defined behaviour of reading
> two subsequent sets of inline data so I guess that has to stay as it is.
> This seems to be the effect of using plot "" after plot '-' too.
Yes. "" means "read the same input source again".
> So could another flag like plot '--' be used to indicate rereading of
> the inline data rather than continuing at the next block of inline data ?
This wouldn't work in the general case - you can't reread from a pipe.
The next obvious thought is "can't we remember the values we just read
and re-use them if necessary?". But that doesn't work either.
Consider:
plot '-' using 1:2, '' using 3:4, '' using 99:100
The first plot uses only columns 1 and 2; these values are stored
internally and could be used again without rereading. That's what the
"refresh" command does. But the 2nd and 3rd plots use data values from
columns we didn't use the first time and hence didn't keep.
So those values can only be recovered by rereading.
The closest I can think of still requires the use of a temporary file.
The script would do:
set print "tempfile.dat'
print "first data line"
print "second data line"
...
print "last data line"
plot 'tempfile.dat' using 1:2, '' using 3:4, '' using 99:100
|
|
From: <pl...@pi...> - 2012-05-14 15:19:52
|
On 05/14/12 14:52, Allin Cottrell wrote: > On Mon, 14 May 2012, Mojca Miklavec wrote: > >> On Mon, May 14, 2012 at 8:21 AM, <pl...@pi...> wrote: >>> HI, >>> >>> I am plotting some data from a data file with four columns to produce >>> three plot lines. >>> >>> set timefmt "%d.%m.%y:%H:%M"; set xdata time >>> plot "fast.log" using 1:2 t "systolic" w l, "fast.log" using 1:3 t >>> "diastolic" w l, "fast.log" using 1:4 t "pulse" w l >>> >>> To save having a separate gnuplot script file I was trying to put these >>> two lines at the head of the data and use the plot '-' feature. But this >>> involves reading the data three times and I can't see how to do it. >>> >>> Before suggesting ways this could be improved I was wondering whether I >>> was missing a trick. >> >> Simply use empty quotation marks: >> plot "fast.log" using 1:2 t "systolic" w l, "" using ... > > This doesn't work in the context plotter specified, namely when you > replace the data file "fast.log" with inline data in the plot file, > using "plot '-'". > > I too would be interested to know if there's any way to avoid repeating > the inline data when plotting multiple lines. > > Allin Cottrell Thanks Allin, unless someone points out a trick we're missing perhaps the plot '-' feature could be extended to act in same way as a named file. It seems that plot '-', '-' already has a defined behaviour of reading two subsequent sets of inline data so I guess that has to stay as it is. This seems to be the effect of using plot "" after plot '-' too. This an unfortunate asymmetry in the behaviour when compared to named files but it's long established and probably should stay as it is. So could another flag like plot '--' be used to indicate rereading of the inline data rather than continuing at the next block of inline data ? regards, Peter. |
|
From: <pl...@pi...> - 2012-05-14 14:04:47
|
On 05/14/12 09:51, Mojca Miklavec wrote: > On Mon, May 14, 2012 at 8:21 AM,<pl...@pi...> wrote: >> HI, >> >> I am plotting some data from a data file with four columns to produce >> three plot lines. >> >> set timefmt "%d.%m.%y:%H:%M"; set xdata time >> plot "fast.log" using 1:2 t "systolic" w l, "fast.log" using 1:3 t >> "diastolic" w l, "fast.log" using 1:4 t "pulse" w l >> >> >> To save having a separate gnuplot script file I was trying to put these >> two lines at the head of the data and use the plot '-' feature. But this >> involves reading the data three times and I can't see how to do it. >> >> Before suggesting ways this could be improved I was wondering whether I >> was missing a trick. > > Simply use empty quotation marks: > plot "fast.log" using 1:2 t "systolic" w l, "" using ... > > Mojca > Thanks but I think you missed the point . The line I posted was using the datafile as data , that could be made more concise by using the empty quotes syntax. My problem is to use the inline data format with plot "-" followed by the data then the termination line 'e' . This does not work using the empty bracket syntax because it does not reread the data lines that follow. Only the first line gets plotted , the rest throw an error about "skipping line with no data". Thx. |
|
From: Allin C. <cot...@wf...> - 2012-05-14 13:23:29
|
On Mon, 14 May 2012, Mojca Miklavec wrote: > On Mon, May 14, 2012 at 8:21 AM, <pl...@pi...> wrote: >> HI, >> >> I am plotting some data from a data file with four columns to produce >> three plot lines. >> >> set timefmt "%d.%m.%y:%H:%M"; set xdata time >> plot "fast.log" using 1:2 t "systolic" w l, "fast.log" using 1:3 t >> "diastolic" w l, "fast.log" using 1:4 t "pulse" w l >> >> To save having a separate gnuplot script file I was trying to put these >> two lines at the head of the data and use the plot '-' feature. But this >> involves reading the data three times and I can't see how to do it. >> >> Before suggesting ways this could be improved I was wondering whether I >> was missing a trick. > > Simply use empty quotation marks: > plot "fast.log" using 1:2 t "systolic" w l, "" using ... This doesn't work in the context plotter specified, namely when you replace the data file "fast.log" with inline data in the plot file, using "plot '-'". I too would be interested to know if there's any way to avoid repeating the inline data when plotting multiple lines. Allin Cottrell |
|
From: Mojca M. <moj...@gm...> - 2012-05-14 07:51:12
|
On Mon, May 14, 2012 at 8:21 AM, <pl...@pi...> wrote: > HI, > > I am plotting some data from a data file with four columns to produce > three plot lines. > > set timefmt "%d.%m.%y:%H:%M"; set xdata time > plot "fast.log" using 1:2 t "systolic" w l, "fast.log" using 1:3 t > "diastolic" w l, "fast.log" using 1:4 t "pulse" w l > > > To save having a separate gnuplot script file I was trying to put these > two lines at the head of the data and use the plot '-' feature. But this > involves reading the data three times and I can't see how to do it. > > Before suggesting ways this could be improved I was wondering whether I > was missing a trick. Simply use empty quotation marks: plot "fast.log" using 1:2 t "systolic" w l, "" using ... Mojca |
|
From: <pl...@pi...> - 2012-05-14 06:57:02
|
HI, I am plotting some data from a data file with four columns to produce three plot lines. set timefmt "%d.%m.%y:%H:%M"; set xdata time plot "fast.log" using 1:2 t "systolic" w l, "fast.log" using 1:3 t "diastolic" w l, "fast.log" using 1:4 t "pulse" w l To save having a separate gnuplot script file I was trying to put these two lines at the head of the data and use the plot '-' feature. But this involves reading the data three times and I can't see how to do it. Before suggesting ways this could be improved I was wondering whether I was missing a trick. Thanks. Peter. |
|
From: Petr M. <mi...@ph...> - 2012-05-04 15:31:17
|
I would strongly prefer no output for
do for [i=3:1] { print i; }
I consider one-line output as a bug.
Note -- also Octave/Matlab produce no output:
> for i=1:3 ; i, end
i = 1
i = 2
i = 3
> for i=3:1 ; i, end
>
---
Petr
|
|
From: sfeam (E. Merritt) <eam...@gm...> - 2012-05-04 05:46:56
|
On Thursday, 03 May 2012, pl...@pi... wrote:
> On 03/05/12 20:24, Ethan A Merritt wrote:
> > Tait<gnu...@t4...> wrote>
> >>> So yes, there is an inconsistency. There are currently three "for"
> >>> constructs
> >>> do for
> >>> set for
> >>> plot for
> >>>
> >>> The first two of these always iterate at least once; the third one does not.
> >>> The documentation is silent on the intended behavior.
> >>> So which to change, "plot for" or both the others?
> >>
> >> Given that it's called "for" I'd say the principle of least surprise
> >> dictate that it act consistently with "for" as used in most programming
> >> languages (e.g. C).
> >
> > Well, C doesn't really have an automatic iterator of this form; you have to
> > provide an explicit initialization, an explicit while condition, and an
> > explicit iteration operation.
> >
> > FWIW, here is what you get in R, whose syntax is close to that of gnuplot.
> >
> > R> for (i in 4:1) { print(i) }
> > [1] 4
> > [1] 3
> > [1] 2
> > [1] 1
>
> The R example is rather artificial. It is not the 'for' structure that
> automatically takes a negative increment. That is the result of the
> definition of the "range" 4:1 , which rightly defines a series 4 3 2 1
> , that is unique and unambiguous.
>
The "for" construct in gnuplot can be viewed this way also.
It has two forms:
do for [i = N:M]
do for [i in "FOO BAZ ARGL"]
You can view N:M in the first form as representing the set of integers
bounded by N and M, just as "FOO BAZ ARGL" in the second form represents
the set of strings "FOO" "BAZ" and "ARGL".
The fact that we iterate over the set in the specific order
N N+1 N+2 ... M is an implementation detail.
Mind you, I'm not arguing strongly that R has it right and other
languages have it wrong[*]. I'm just questioning the notion that
there's a single "obvious" or "least surprising" way to interpret
this statement.
Just for the heck of it, I'll point out that this same argument
waxed hot back in the lead-up to Fortran77. Earlier versions
of Fortran would always execute a loop at least once regardless
of the bounds in the DO statement. This was, after much argument,
changed in Fortran77 so that the DO statement had a
"minimum trip count" of zero. Unfortunately this meant that the
very same statement would produce different results if compiled
using successive versions of Fortran. Fun, eh?
I don't want to use FortranIV as a model, so I agree we
should change the code so that an explicit out-of-range iteration
like [i = 5:-5:1] executes zero times. But I think the discussion
is worthwhile as to whether [i = 0:5] and [i = 5:0] should both
iterate over the same set of six integers, although not necessarily
in the same order.
As to "least surprise", consider that gnuplot users are already
familiar with the idea that 'set xrange [0:5]' and 'set xrange [5:0]'
both span the same range, but in a different order. It should not
be a big surprise if [i = 0:5] and [i = 5:0] also span the same
range but in a different order.
Ethan
[*] Though I think we agree that python really does have it wrong.
>
>
> The idea that way the code is compiled varies dependant on the values of
> the data seems an aberration to me. This sort of thing should be
> reserved for AI languages.
>
> Perhaps someone could suggest how this would be advantageous.
>
> If it is truly useful perhaps the idea of a range as a variable
> structure needs to implemented as in R. Though this would probably lead
> to an ambiguous syntax in for-loops which would have to have alternative
> code paths for conventional integer args and ranges.
>
>
> Peter.
|
|
From: <pl...@pi...> - 2012-05-04 04:40:20
|
On 04/05/12 00:26, Tait wrote:
>
>>>> So yes, there is an inconsistency. There are currently three "for"
>>>> constructs
>>>> do for
>>>> set for
>>>> plot for
>>>>
>>>> The first two of these always iterate at least once; the third one does not.
>>>> The documentation is silent on the intended behavior.
>>>> So which to change, "plot for" or both the others?
>>>
>>> Given that it's called "for" I'd say the principle of least surprise
>>> dictate that it act consistently with "for" as used in most programming
>>> languages (e.g. C).
>
> Ethan:
>>
>> It turns out to be surprisingly hard to determine what
>> "most programming languages" do. Many require an explicit increment
>> operation, like C.
>>
>> FWIW, here is what you get in R, whose syntax is close to that of gnuplot.
>>
>> R> for (i in 4:1) { print(i) }
>> [1] 4
>> [1] 3
>> [1] 2
>> [1] 1
>>
>> So that's a third option to consider.
>
> Arun:
>> My preferred choice would be that you need to specify the -1 increment
>> explicitly.
>>
>> If you leave it with an increment of +1 unless otherwise specified, I
>> also would prefer if "do for [i=5:4] {" does no iterations at all.
>
> Peter:
>> I would advise against such "special" cases. It's confusing (unexpected)
>> and as I said before makes producing predictable output complicated.
>
> I was thinking in terms of for [a:b] implicitly meaning for [a:b:+1], in
> which case there should be zero loops executed if a> b. For example...
> Perl:
> perl -e "print for 0..9" => 0123456789
> perl -e "print for 9..0" =>
> Python:
> python -c "print range(0,9) => [0, 1, 2, 3, 4, 5, 6, 7, 8]
> python -c "print range(9,0) => []
> Ruby:
> ruby -le 'print (0..9).to_a' => 0123456789
> ruby -le 'print (9..0).to_a' =>
>
> But also R, as you mentioned, and...
> PHP:
> php -r 'print implode(range(0,9))' => 0123456789
> php -r 'print implode(range(9,0))' => 9876543210
> (...not that PHP should be a model for anything, in my personal opinion)
>
> I do like and have often wished for R's behavior where [a:b] implies a
> +1 increment if b>a and a -1 increment if a>b. I think gnuplot could
> adopt this. But to address Arun and Peter's concern, for [i=9:0:1]
> should do zero loops, to allow a mechansim for the author to say, "I
> want Perl/Python/Ruby-like behavior, not R-like behavior." Having
> for [i=9:0:1] do one loop can only be seen as broken.
>
>
I think the C behaviour is the most predictable and clearly defined:
for [ initialisation ; end_condition ; loop_operation ]
it is executed in that order, ie end_condition is tested immediately
after initialisation
note loop_operation can be any expression : i=exp(i*i/sigma)
If there is to be the option of omitting loop_operation , I think it
has to be the unique increment i++ , not an operation that depends upon
the values of the data.
for [ range ] ; is a different thing entirely.
If that is required , I think it should be made quite distinct. probably
with a new data type for ranges. Trying to shoehorn this in as a special
case will lead to ambiguities and language problems later as gnuplot
syntax develops into a more structured language.
Peter.
|
|
From: <pl...@pi...> - 2012-05-04 04:12:37
|
On 04/05/12 00:26, Tait wrote: > Python: > python -c "print range(0,9) => [0, 1, 2, 3, 4, 5, 6, 7, 8] > python -c "print range(9,0) => [] LOL, a range of 0,9 starts at 0 and stops at 8 , brilliant ! Gnuplot should definitely follow that model of logic. Peter. |