Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.graphics.apps.gnuplot > #3490
| From | Karl Ratzsch <mail.kfr@gmx.net> |
|---|---|
| Newsgroups | comp.graphics.apps.gnuplot |
| Subject | Re: if else with lines |
| Date | 2016-11-28 21:58 +0100 |
| Organization | solani.org |
| Message-ID | <o1i5p2$isq$1@solani.org> (permalink) |
| References | <o1i0ci$t97$1@dont-email.me> |
Am 28.11.2016 um 20:27 schrieb Jörg Buchholz: > Hello > > Sorry, I can't find the starting point for a solution to produce a plot > where the y value dependence from the line before and behind the current > line in a data set. > > What I want to do is the following. > > If y(n-1) < y(n) and y(n+1) < y(n) than y = y+a > If y(n-1) > y(n) and y(n+1) > y(n) than y = y-a > else y = y > > Where n is the number of the line in a data set. "a" is a variable. The > y value is in a column of a data set. > > And this in a plot command, so that the y value dependence from the y > value in the line before and after the current line in a data set. You cannot read ahead of the current line, so you'll have to store the last two values (resp. xy value pairs), and always only plot the next-to-last one. Key tool for this ghastly hack is the serial evaluation operator ",". plot dataf us (lllx=llx,llx=lx,lx=$1,llly=lly,lly=ly,ly=$2, llx): \ ((llly<lly && ly<lly) ? lly+a:(llly>lly)&&(ly>llyy) ? lly-a : lly) Haven't tried now. You need to initialise all l* variables with NaN. Honestly, I wouldn't go for gnuplot to do that. Use your favourite spreadsheet calculator to transform the original dataset. Karl
Back to comp.graphics.apps.gnuplot | Previous | Next — Previous in thread | Next in thread | Find similar
if else with lines Jörg Buchholz <bookwood4new@freenet.de> - 2016-11-28 20:27 +0100
Re: if else with lines Karl Ratzsch <mail.kfr@gmx.net> - 2016-11-28 21:58 +0100
Re: if else with lines Jörg Buchholz <bookwood4new@freenet.de> - 2016-11-29 07:31 +0100
csiph-web