summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex')
-rw-r--r--graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex89
1 files changed, 48 insertions, 41 deletions
diff --git a/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex b/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
index 2436a84739..a426f7fb51 100644
--- a/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
+++ b/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
@@ -1,4 +1,4 @@
-% $Id: pst-plot.tex 1056 2019-05-17 07:39:59Z herbert $
+% $Id: pst-plot.tex 1074 2019-07-16 16:07:00Z herbert $
%%
%% BEGIN pst-plot.tex
%%
@@ -23,8 +23,8 @@
\ifx\PSTFPloaded\endinput\else \input pst-fp.tex \fi
\ifx\MultidoLoaded\endinput\else \input multido.tex \fi
%
-\def\fileversion{1.92}
-\def\filedate{2019/05/16}
+\def\fileversion{1.93}
+\def\filedate{2021/09/23}
\message{ v\fileversion, \filedate\space (tvz,hv)}
%
\edef\TheAtCode{\the\catcode`\@}
@@ -378,11 +378,14 @@ D\space##1%
} repeat
/u xiSquare fi mul xi xifi mul sub n xiSquare mul xi dup mul sub div def
/v n xifi mul xi fi mul sub n xiSquare mul xi dup mul sub div def
+ gsave
\Pst@Debug\space 0 gt { % print the equation
- /NimbusSanL-Regu findfont 12 scalefont setfont
+ \ifpstGSfonts /NimbusSanL-Regu \else /Helvetica \fi
+ findfont 12 scalefont setfont
0 -50 moveto (y=) show % print y=
v \pst@number\psyunit \pst@number\psxunit div div 20 string cvs show ( x+) show % m*x+
u \pst@number\psyunit div 20 string cvs show } if
+ grestore
newpath
(\psk@xStart) length 0 gt % special start value?
{ \psk@xStart\space \pst@number\psxunit mul }
@@ -417,64 +420,64 @@ D\space##1%
\addto@pscode{
/Barwidth \number\Add@barwidth 2 div def
/Endwidth Barwidth \psk@arrowlength\space mul def
- NArray bubblesort
- /NArray ED % save sorted array
- [ NArray { yUnit mul } forall ] /NArray ED % multiply with y unit
- NArray 0 get /MinVal ED % save minimum
- NArray m 1 sub get /MaxVal ED % maximum
+ NArray@i bubblesort
+ /NArray@i ED % save sorted array
+ [ NArray@i { yUnit mul } forall ] /NArray@i ED % multiply with y unit
+ NArray@i 0 get /MinVal ED % save minimum
+ NArray@i m 1 sub get /MaxVal ED % maximum
m 2 div cvi /M ED % the middle
- NArray length 2 mod 0 eq { % even numbers of entries
- M 1 sub NArray exch get % even number of values
- NArray M get % and the upper one
+ NArray@i length 2 mod 0 eq { % even numbers of entries
+ M 1 sub NArray@i exch get % even number of values
+ NArray@i M get % and the upper one
add 2 div /Median ED % the median
}{
- NArray M get /Median ED % odd numbers of values
+ NArray@i M get /Median ED % odd numbers of values
} ifelse
m 4 mod 0 eq { % get the lower Quartil even/odd
- m 4 div cvi dup 1 sub NArray exch get
- exch NArray exch get
+ m 4 div cvi dup 1 sub NArray@i exch get
+ exch NArray@i exch get
% M 2 div cvi 1 add dup /M2 ED % save middle index
-% 1 sub NArray exch get
-% NArray M2 get
+% 1 sub NArray@i exch get
+% NArray@i M2 get
add 2 div floor /LowerQuartil ED
}{
- NArray M 2 div cvi get /LowerQuartil ED
+ NArray@i M 2 div cvi get /LowerQuartil ED
} ifelse % end even/odd
m 0.75 mul dup dup cvi sub 0 eq { % get the upper Quartil
% 0.75*m is an integer
- cvi dup 1 sub NArray exch get exch NArray exch get
+ cvi dup 1 sub NArray@i exch get exch NArray@i exch get
% M 1.5 mul cvi 1 add dup /M3 ED
-% 1 sub NArray exch get
-% NArray M3 get
+% 1 sub NArray@i exch get
+% NArray@i M3 get
add 2 div floor /UpperQuartil ED
}{ % upper quartil
- NArray m 0.75 mul floor cvi get /UpperQuartil ED
+ NArray@i m 0.75 mul floor cvi get /UpperQuartil ED
} ifelse
%
/IQL UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul def
0 1 m 1 sub { % Index on stack
dup /Index ED
- NArray exch get LowerQuartil sub abs IQL sub 0 gt {
+ NArray@i exch get LowerQuartil sub abs IQL sub 0 gt {
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
- 0 NArray Index get \psk@postAction
+ 0 NArray@i Index get \psk@postAction
Dot
- NArray Index LowerQuartil UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul sub
+ NArray@i Index LowerQuartil UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul sub
dup /MinVal ED put % replace with 1.5 IQL
- NArray Index 1 add get /MinVal ED
+ NArray@i Index 1 add get /MinVal ED
} { exit } ifelse
} for
m 1 sub -1 0 { % Index on stack
dup /Index ED
- NArray exch get UpperQuartil sub abs IQL sub 0 gt {
+ NArray@i exch get UpperQuartil sub abs IQL sub 0 gt {
% newpath
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
- 0 NArray Index get \psk@postAction\space
+ 0 NArray@i Index get \psk@postAction\space
Dot
- NArray Index UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul UpperQuartil add
+ NArray@i Index UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul UpperQuartil add
dup /MaxVal ED put % replace with 1.5 IQL
- NArray Index 1 sub get /MaxVal ED
+ NArray@i Index 1 sub get /MaxVal ED
}{ exit } ifelse
} for
%
@@ -544,8 +547,8 @@ D\space##1%
\@nameuse{beginplot@\psplotstyle}%
\addto@pscode{
/D {} def
- [ #1 ] /NArray ED
- NArray aload length /m ED
+ [ #1 ] /NArray@i ED
+ NArray@i aload length /m ED
/xUnit \pst@number\psxunit def
/yUnit \pst@number\psyunit def
}%
@@ -1082,11 +1085,12 @@ D\space##1%
\def\parametricplot@i#1#2{\@ifnextchar[{\parametricplot@x{#1}{#2}}{\parametricplot@x{#1}{#2}[]}}
\def\parametricplot@x#1#2[#3]{\@ifnextchar[{\parametricplot@xi{#1}{#2}[#3]}{\parametricplot@xi{#1}{#2}[#3][]}}
\def\parametricplot@xi#1#2[#3][#4]#5{%
- \pst@killglue%
+ \pst@killglue
\begingroup%
- \use@par%
+ \use@par
\@nameuse{beginplot@\psplotstyle}%
\addto@pscode{%
+ 20 dict begin
#3 %prefix PS code
\psplot@init
/t #1 def
@@ -1126,7 +1130,7 @@ D\space##1%
\@pstfalse
\@nameuse{testqp@\psplotstyle}%
\if@pst\parametricplot@ii{#4}\else\parametricplot@iii{#4}\fi
- \endgroup%
+ \endgroup
\ignorespaces}
%
\def\parametricplot@ii#1{% para is the post code
@@ -1138,7 +1142,8 @@ D\space##1%
/t 3 -1 roll def 2 copy gt { exch } if pop
/t t 3 -1 roll add dup t1 gt {pop t1} if def
xy \@nameuse{doqp@\psplotstyle}
- t t1 eq { exit } if } loop}%
+ t t1 eq { exit } if } loop
+ }%
\else\pst@killglue%
\addto@pscode{%
/ps@Exit false def
@@ -1154,7 +1159,7 @@ D\space##1%
} if
}%
\fi%
- \addto@pscode{ #1 }%
+ \addto@pscode{ #1 end }% also end of userdict
\@nameuse{endqp@\psplotstyle}}
%
\def\parametricplot@iii#1{%
@@ -1170,7 +1175,8 @@ D\space##1%
t t1 eq { exit } if } loop
xy
2 copy \tx@UserCoor 2 array astore /FinalState ED
- n 2 roll}%
+ n 2 roll
+ }%
\else\pst@killglue%
\addto@pscode{
mark
@@ -1183,9 +1189,10 @@ D\space##1%
} repeat
/t t1 def
xy
- n 2 roll}%
- \fi%
- \addto@pscode{ #1 }%
+ n 2 roll
+ }%
+ \fi
+ \addto@pscode{ #1 end}% also end of userdict
\@nameuse{endplot@\psplotstyle}}
%
%