|
From: Thomas S. <t.s...@fz...> - 2009-10-19 07:15:53
|
try this with gnuplot 4.3-cvs:
set xrange [0:11]
set yrange [3:12]
up=0
plot 'datafilename' with linespoints, \
'' using ($0==0?x1=x2=$1:($0==1?($2>=y1?up=1:up=0):0,x1=x2)):\
($0==0?y1=y2=$2:y1=y2):\
($0==0?0/0:0 , x2=$1 , y2=$2 , \
up==1?($2-y1<0?(up=0,sprintf("%d",y1)):0/0) \
:($2-y1>0?(up=1,0/0):0/0)) \
with labels offset 0,1 notitle , \
'' using ($0==0?x1=x2=$1:($0==1?($2>=y1?up=1:up=0):0,x1=x2)):\
($0==0?y1=y2=$2:y1=y2):\
($0==0?0/0:0 , x2=$1 , y2=$2 , \
up==1?($2-y1<0?(up=0,0/0):0/0) \
:($2-y1>0?(up=1,sprintf("%d",y1)):0/0)) \
with labels offset 0,-1 notitle
LukasP wrote:
>
> Hello,
>
> is there a way GNUplot to write y-values at places where the y-value is a
> (local) extreme?
>
> - Let's have a datafile with x and y values:
>
> # x y
> 1 5
> 2 6
> 3 8
> 4 4
> 8 11
> 10 10
>
> Than the y(x) plot of these data will have local maximum at [2; 6] and [8;
> 11] and the local minimum at [4; 4].
>
> And I'm looking for a way that GNUplot would write "6" and "11" above
> points of local maximums and "4" above the local minimum.
>
> Is it possible somehow?
>
> - I know special cases should be solved - e.g. data:
>
> 0 5
> 2 6
> 3 6
> 4 6
> 5 2
>
> It should be decided whether the [2; 6], [3; 6] and/or [4; 6] are extremes
> as well; but this is not the main question.
>
> Or, is it possible the datafile to contain a special mark at points where
> the y-values are wanted to be written? E.g.:
>
> # x y
> 1 5
> 2 6
> 3 8 # y
> 4 4 # Y
> 8 11 # y
> 10 10
>
> Which should mean: when plotting - "# y" => "write the y-value above", "#
> Y" => "write the y-value bellow"?
>
> See also the attachment for the wanted effect.
>
> Thank you in advance.
>
> Lukas
> http://www.nabble.com/file/p25925173/Clipboard01.png Clipboard01.png
>
--
View this message in context: http://www.nabble.com/Print-y-values-at-%28local%29-extremes-tp25925173p25954123.html
Sent from the Gnuplot - User mailing list archive at Nabble.com.
|