summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-06-14 23:12:32 +0000
committerKarl Berry <karl@freefriends.org>2008-06-14 23:12:32 +0000
commitf8cc855cd0280fbde00de48149d235af253554fd (patch)
treed46c2dcb1fec82b2650f38151315fb6f72d9e728 /Master
parent1b839cac605520b4304daee2b100f17d559d70fd (diff)
pstricks-add update (14jun08)
git-svn-id: svn://tug.org/texlive/trunk@8737 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/generic/pstricks-add/Changes5
-rw-r--r--Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdfbin1669803 -> 1650157 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex1626
-rw-r--r--Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex338
4 files changed, 1055 insertions, 914 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks-add/Changes b/Master/texmf-dist/doc/generic/pstricks-add/Changes
index 3ebbd17c231..5c7229efbdb 100644
--- a/Master/texmf-dist/doc/generic/pstricks-add/Changes
+++ b/Master/texmf-dist/doc/generic/pstricks-add/Changes
@@ -1,4 +1,4 @@
-%% $Id: Changes 24 2008-05-16 18:33:45Z herbert $
+%% $Id: Changes 25 2008-06-06 10:33:45Z herbert $
%%
pstricks-add.pro ----------- (Dominik Rodriguez/hv)
v 0.20 2008-01-12 - moved the AlgParser into pst-algparser.pro
@@ -33,6 +33,9 @@ pstricks-add.sty ----------- (hv)
pstricks-add.tex ----------- (Dominik Rodriguez/hv)
+ v 3.05 2008-06-06 - rewrote the axes-label setting for the psgraph environment
+ - add \pst@mindim{#1}{#2}#3
+ - rewrote label setting for \psaxes
v 3.04 2008-06-02 - make \pslinewidth and \psfillstyle available in \psbrace
v 3.03 2008-05-20 - fix introduced bug with ps.pro
v 3.02 2008-04-25 - set correct labelFontSize for math mode
diff --git a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf
index 58e9702f744..1230a783c89 100644
--- a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex
index 5014cd7dea0..c67b049d350 100644
--- a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex
+++ b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex
@@ -1,5 +1,5 @@
-%% $Id: pstricks-add-doc.tex 24 2008-05-16 18:33:45Z herbert $
-\documentclass[12pt]{article}
+%% $Id: pstricks-add-doc.tex 25 2008-06-06 10:33:45Z herbert $
+\documentclass[10pt]{article}
\listfiles
\usepackage{filecontents}
\begin{filecontents*}{demo0.dat}
@@ -972,8 +972,10 @@
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
-\usepackage{pamathx}
-\usepackage[scaled]{luximono}
+%\usepackage{mathpazo}
+%\usepackage{pamathx}
+%\usepackage[scaled]{luximono}
+\usepackage{arev}
%\usepackage{mathptmx}
\usepackage[lmargin=2.5cm,bmargin=3cm]{geometry}
\usepackage{tabularx}
@@ -1195,6 +1197,22 @@ It makes some sense to define a new macroname in the preamble to use it througho
\end{LTXexample}
%--------------------------------------------------------------------------------------
+\subsection{\CMD{pst\textat{}mindim}}
+%--------------------------------------------------------------------------------------
+
+\begin{lstlisting}[style=syntax]
+\pst@mindim{<dimension>}{<dimension>}{<result as dimension register>}
+\end{lstlisting}
+
+\begin{LTXexample}[width=2cm]
+\newdimen\minDim
+\makeatletter
+\pst@mindim{34cm}{1234pt}\minDim \the\minDim\\
+\pst@mindim{34cm}{123pt}\minDim \the\minDim
+\makeatother
+\end{LTXexample}
+
+%--------------------------------------------------------------------------------------
\subsection{\CMD{pst\textat{}abs}}
%--------------------------------------------------------------------------------------
@@ -1226,6 +1244,7 @@ It makes some sense to define a new macroname in the preamble to use it througho
\makeatother
\end{LTXexample}
+\clearpage
%--------------------------------------------------------------------------------------
\section{Dashed Lines}
%--------------------------------------------------------------------------------------
@@ -1272,6 +1291,8 @@ with \verb+rmultiput+:
\end{pspicture}
\end{LTXexample}
+\clearpage
+
%--------------------------------------------------------------------------------------
\section{\CMD{psrotate}: Rotating objects}
%--------------------------------------------------------------------------------------
@@ -1314,7 +1335,7 @@ macro.
\end{LTXexample}
-\begin{LTXexample}[pos=t,wide]
+\begin{LTXexample}[pos=t]
\def\majorette{\psline[linewidth=0.5mm](0,2)% Idea by Manuel Luque
\pscircle[fillstyle=solid]{0.1}
\pscircle[fillstyle=solid](0,2){0.1}}
@@ -1423,7 +1444,7 @@ and can be used by the user for coloring lines or text.
\end{pspicture}
\end{LTXexample}
-
+\clearpage
%--------------------------------------------------------------------------------------
\section{\CMD{psHomothetie}: central dilatation}
%--------------------------------------------------------------------------------------
@@ -1562,7 +1583,7 @@ or \verb|t| (top), where the default is \verb|c|, the center of the object.
\end{LTXexample}
-\begin{LTXexample}[width=8cm,wide]
+\begin{LTXexample}[width=8cm]
\psset{unit=0.8}
\begin{pspicture}(10,11)
\psgrid[subgriddiv=0,griddots=10]
@@ -1588,7 +1609,7 @@ or \verb|t| (top), where the default is \verb|c|, the center of the object.
%$
-\begin{LTXexample}[wide,width=5cm]
+\begin{LTXexample}[width=5cm]
\[
\begin{pmatrix}
\Rnode[vref=2ex]{A}{~1} \\
@@ -1609,7 +1630,6 @@ It is also possible to put a vertical brace around a default paragraph. This wor
with setting two invisible nodes at the beginning and the end of the paragraph.
Inentation is possible with a minipage.
-\begin{framed}
Some nonsense text, which is nothing more than nonsense.
Some nonsense text, which is nothing more than nonsense.
@@ -1646,10 +1666,8 @@ Some nonsense text, which is nothing more than nonsense.
\vspace*{-2ex}
\noindent\rnode{B}{}\psbrace[linecolor=red](A)(B){}
\end{minipage}
-\end{framed}
\begin{lstlisting}
-\begin{framed}
Some nonsense text, which is nothing more than nonsense.
Some nonsense text, which is nothing more than nonsense.
@@ -1685,7 +1703,6 @@ Some nonsense text, which is nothing more than nonsense.
\vspace*{-2ex}\noindent\rnode{B}{}\psbrace[linecolor=red](A)(B){}
\end{minipage}
-\end{framed}
\end{lstlisting}
\clearpage
@@ -1907,7 +1924,6 @@ is like the one described in the old PSTricks manual.
-\clearpage
\subsection{\texttt{hookarrow}}
\begin{LTXexample}
\psset{arrowsize=8pt,arrowlength=1,linewidth=1pt,nodesep=2pt,shortput=tablr}
@@ -2347,7 +2363,6 @@ All examples are printed with \verb|\psset{arrowscale=2,linecolor=red}|.
\end{LTXexample}
-\clearpage
%--------------------------------------------------------------------------------------
\subsubsection{\CMD{pcline}}
@@ -3278,15 +3293,15 @@ There is no special parameter here.
\begin{LTXexample}[width=5.5cm]
\psset{unit=0.5cm}
\begin{pspicture}(-5,-4)(5,5)
- \psaxes{->}(0,0)(-5,-4)(5,5)
+ \psaxes[labelFontSize=\scriptstyle]{->}(0,0)(-5,-4)(5,5)
\psline[linecolor=red,linewidth=2pt](-5,-1)(5,5)
\psline[linecolor=blue,linewidth=2pt](-5,3)(5,-4)
- \qdisk(-5,-1){3pt}\uput[-90](-5,-1){A}
- \qdisk(5,5){3pt}\uput[-90](5,5){B}
- \qdisk(-5,3){3pt}\uput[-90](-5,3){C}
- \qdisk(5,-4){3pt}\uput[-90](5,-4){D}
+ \qdisk(-5,-1){2pt}\uput[-90](-5,-1){A}
+ \qdisk(5,5){2pt}\uput[-90](5,5){B}
+ \qdisk(-5,3){2pt}\uput[-90](-5,3){C}
+ \qdisk(5,-4){2pt}\uput[-90](5,-4){D}
\psIntersectionPoint(-5,-1)(5,5)(-5,3)(5,-4){IP}
- \qdisk(IP){5pt}\uput{0.3}[90](IP){IP}
+ \qdisk(IP){3pt}\uput{0.3}[90](IP){IP}
\psline[linestyle=dashed](IP|0,0)(IP)(0,0|IP)
\end{pspicture}
\end{LTXexample}
@@ -3403,14 +3418,21 @@ package, because everything can be set by the \verb+ticksize+ option. When using
shouldn't be redefined, because the package does it itself in these cases.
{
\ttfamily
-\rowcolors{0}{blue!20}{red!30}
+\rowcolors{1}{blue!20}{red!30}
\begin{longtable}{lll}
\caption{All new parameters for \texttt{pst-plot}}\\[-5pt]
-\textrm{Name} & \textrm{Type} & \textrm{Default}\\\hline
+\rowcolor{white}\textrm{\bfseries Name} & \textrm{\bfseries Type} & \textrm{\bfseries Default}\\\hline
\endfirsthead
-\textrm{Name} & \textrm{Type} & \textrm{Default}\\\hline
+\rowcolor{white}\textrm{\bfseries Name} & \textrm{\bfseries Type} & \textrm{\bfseries Default}\\\hline
\endhead
+labels & <all|x|y|none> & all\\%ok
+xlabelPos & <bottom,axis,top>& bottom\\
+ylabelPos & <left,axis,right>& left\\
+xlabelFactor & <anything> & \{\textbackslash\@ empty\}\\
+ylabelFactor & <anything> & \{\textbackslash\@ empty\}\\
labelFontSize & <fontsize macro> & \{\} \\
+trigLabels & false|true & false\\
+trigLabelBase & <number> & 0\\
algebraic & false|true & false\\ %ok
comma & false|true & false\\ %ok
xAxis & false|true & true\\%ok
@@ -3424,7 +3446,6 @@ xyDecimals & <number> or empty & \{\}\\%ok
%xyLabel & <anything> & \{\}\\%ok
%tickstyle & full|top|bottom & full\\%ok
ticks & <all|x|y|none> & all\\%ok
-labels & <all|x|y|none> & all\\%ok
subticks & <number> & 0\\
xsubticks & <number> & 0\\
ysubticks & <number> & 0\\
@@ -3440,8 +3461,6 @@ xsubtickcolor & <color> & darkgray\\
ysubtickcolor & <color> & darkgray\\
ticklinestyle & solid | dashed | dotted | none & solid\\
subticklinestyle & solid | dashed | dotted | none & solid\\
-xlabelFactor & <anything> & \{\textbackslash\@ empty\}\\
-ylabelFactor & <anything> & \{\textbackslash\@ empty\}\\
xlogBase & <number> or empty & \{\}\\
ylogBase & <number> or empty & \{\}\\
xylogBase & <number> or empty & \{\}\\
@@ -3467,26 +3486,158 @@ lly & <length> & 0pt\\
urx & <length> & 0pt\\
ury & <length> & 0pt\\
polarplot & false|true & false\\
-trigLabels & false|true & false\\
-trigLabelBase & <number> & 0\\
ChangeOrder & false|true & false\\
\end{longtable}
}
\clearpage
+
+%--------------------------------------------------------------------------------------
+\subsection{\texttt{xyAxes}, \texttt{xAxis} and \texttt{yAxis}}
+%--------------------------------------------------------------------------------------
+Syntax:
+\begin{lstlisting}[style=syntax]
+xyAxes=true|false
+xAxis=true|false
+yAxis=true|false
+\end{lstlisting}
+
+Sometimes there is only a need for one axis with ticks. In this case you can set one
+of the following options to false. The \verb+xyAxes+ makes only sense, when you want
+to set both, x and y to true with only one command again to the default, because with
+\verb+xyAxes=false+ you get nothing with the \verb+psaxes+ macro.
+
+
+\resetOptions%
+\begin{LTXexample}
+\begin{pspicture}(5,1)
+\psaxes[yAxis=false,linecolor=blue]{->}(0,0.5)(5,0.5)
+\end{pspicture}
+\begin{pspicture}(1,5)
+\psaxes[xAxis=false,linecolor=red]{->}(0.5,0)(0.5,5)
+\end{pspicture}
+\begin{pspicture}(1,5)
+\psaxes[xAxis=false,linecolor=red,
+ ylabelPos=right]{->}(0.5,0)(0.5,5)
+\end{pspicture}\\[0.5cm]
+\begin{pspicture}(5,1)
+\psaxes[yAxis=false,linecolor=blue,
+ xlabelPos=top]{->}(0,0.5)(5,0.5)
+\end{pspicture}
+\end{LTXexample}
+
+As seen in the example, a single y axis gets the labels on the left side. This can be
+changed with the option \verb+ylabelPos+ or with \verb+xlabelPos+ for the
+x-axis.
+
+
+%--------------------------------------------------------------------------------------
+\subsection{\texttt{labels}}
+%--------------------------------------------------------------------------------------
+Syntax:
+\begin{lstlisting}[style=syntax]
+labels=all|x|y|none
+\end{lstlisting}
+
+This option is also already in the \verb+pst-plot+ package and only mentioned here for
+some completness.
+
+\begin{LTXexample}[width=3.5cm]
+\psset{ticksize=6pt}
+\begin{pspicture}(-1,-1)(2,2)
+\psaxes[labels=all,subticks=5]{->}(0,0)(-1,-1)(2,2)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(-1,-1)(2,2)
+\psaxes[labels=y,subticks=5]{->}(0,0)(-1,-1)(2,2)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(-1,-1)(2,2)
+\psaxes[labels=x,subticks=5]{->}(0,0)(2,2)(-1,-1)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(-1,-1)(2,2)
+\psaxes[labels=none,subticks=5]{->}(0,0)(2,2)(-1,-1)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+%--------------------------------------------------------------------------------------
+\subsection{\texttt{xlabelPos} and \texttt{xlabelPos}}
+%--------------------------------------------------------------------------------------
+Syntax:
+\begin{lstlisting}[style=syntax]
+xlabelPos=bottom|axis|top
+ylabelPos=left|axis|right
+\end{lstlisting}
+
+By default the labels for ticks are placed at the bottom (x axis) and left (y-axis).
+In both axes are drawn into negative direction the default is top (x axis) and right (y axis).
+It be changed with the two options \texttt{xlabelPos} and \texttt{xlabelPos}. With the value
+\texttt{axis} the user can place the labels depending to the value of \texttt{labelsep},
+which is taken into account.
+
+\resetOptions%
+\bigskip
+\begin{LTXexample}[width=9cm]
+\begin{pspicture}(3,3)
+\psaxes{->}(3,3)
+\end{pspicture}\hspace{2cm}
+\begin{pspicture}(3,-3)
+\psaxes[xlabelPos=top]{->}(3,-3)
+\end{pspicture}
+\end{LTXexample}
+
+\vspace{1cm}
+\begin{LTXexample}[width=9cm]
+\begin{pspicture}(-3,-3)
+\psaxes{->}(-3,-3)
+\end{pspicture}\hspace{2cm}
+\begin{pspicture}(3,3)
+\psaxes[ylabelPos=axis,
+ xlabelPos=axis]{->}(3,3)
+\end{pspicture}
+\end{LTXexample}
+
+\vspace{1cm}
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(-1,1)(3,-3)
+\psaxes[xlabelPos=top,
+ xticksize=0 20pt,
+ yticksize=-20pt 0]{->}(3,-3)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
%--------------------------------------------------------------------------------------
-\subsection{Changing the label font size with \texttt{labelFontSize}}
+\subsection{Changing the label font size with \texttt{labelFontSize} and \texttt{mathLabel}}
%--------------------------------------------------------------------------------------
-This option sets the horizontal \textbf{and} vertical font size for the labels.
+This option sets the horizontal \textbf{and} vertical font size for the labels depending to
+the option \verb+mathLabel+ for the text or the math mode.
It will be overwritten when another package or a user defines
\begin{lstlisting}[style=syntax]
-\def\pshlabel#1{...}
-\def\psvlabel#1{...}
+\def\pshlabel#1{\labelFontSize ...}
+\def\psvlabel#1{\labelFontSize ...}
+\def\pshlabel#1{$\labelFontSize ...$}% for mathLabel=true (default)
+\def\psvlabel#1{$\labelFontSize ...$}% for mathLabel=true (default)
\end{lstlisting}
+in another way. Pay attention, that for \verb+mathLabel=true+ the font size must be set
+by one of the mathematical styles \verb+\textstyle+, \verb+\displaystyle+, \verb+\scriptstyle+,
+or \verb+\scriptscriptstyle+.
\begin{LTXexample}[width=6cm]
+\psset{mathLabel=false}
\begin{pspicture}(-0.25,-0.25)(5,2.25)
\psaxes{->}(5,2.25)[$x$,0][$y$,90]
\end{pspicture}\\[20pt]
@@ -3496,315 +3647,432 @@ It will be overwritten when another package or a user defines
\begin{pspicture}(-0.25,-0.25)(5,2.25)
\psaxes[labelFontSize=\footnotesize]{->}(5,2.25)
\end{pspicture}\\[20pt]
-\begin{pspicture}(-0.25,-0.25)(5,2.25)
-\psaxes[labelFontSize=\tiny]{->}(5,2.25)[\textbf{x},-90][\textbf{y},0]
-\end{pspicture}%
\end{LTXexample}
+\begin{LTXexample}[width=6cm]
+\begin{pspicture}(-0.25,-0.25)(5,2.25)
+\psaxes[labelFontSize=\scriptstyle]{->}(5,2.25)[\textbf{x},-90][\textbf{y},0]
+\end{pspicture}\\[20pt]
+\psset{mathLabel=true}
+\begin{pspicture}(-0.25,-0.25)(5,2.25)
+\psaxes[labelFontSize=\scriptscriptstyle]{->}(5,2.25)
+\end{pspicture}\\[20pt]
+\end{LTXexample}
-\clearpage
%--------------------------------------------------------------------------------------
-\subsection[\texttt{algebraic}]{\texttt{algebraic}\footnote{This part is adapted
- from the package \texttt{pst-eqdf}, written by Dominique Rodriguez.}}
+\subsection{\texttt{xlabelFactor} and \texttt{ylabelFactor}}
%--------------------------------------------------------------------------------------
-By default the function of \verb+\psplot+ has to be described in Reversed Polish Notation.
-The option \verb+algebraic+ allows to do this in the common algebraic notation. E.g.:
+When having big numbers as data records then it makes sense to write the values
+as ${<number>\cdot 10^{<exp>}}$. These new options allow to define the additional part
+of the value, but it must be set in math mode when using math operators!
-\begin{tabular}{l|l}
-RPN & algebraic\\\hline
-\verb+x ln+ & \verb+ln(x)+\\
-\verb+x cos 2.71 x neg 10 div exp mul+ & \verb+cos(x)*2.71^(-x/10)+\\
-\verb+1 x div cos 4 mul+ & \verb+4*cos(1/x)+\\
-\verb+t cos t sin+ & \verb+cos(t)|sin(t)+
-\end{tabular}
+\resetOptions
+\begin{LTXexample}
+\readdata{\data}{demo1.dat}
+\pstScalePoints(1,0.000001){}{}% (x,y){additional x operator}{y op}
+\psset{llx=-1cm,lly=-1cm}
+\psgraph[ylabelFactor=\cdot 10^6,Dx=5,Dy=100](0,0)(25,750){8cm}{5cm}
+ \listplot[linecolor=red, linewidth=2pt, showpoints=true]{\data}
+\endpsgraph
+\pstScalePoints(1,1){}{}% reset
+\end{LTXexample}
-Setting the option \verb$algebraic$ to \verb$true$, allow the user to describe all
-expression to be written in the classical algebraic notation (infix notation). The four arithmetic
-operarions are obviously defined \verb$+-*/$, and also the exponential operator
-\verb$^$. The natural priorities are used : $3+4\times 5^5=3+(4\times (5^5))$, and by default
-the computation is done from left to right. The following functions are defined :
-\medskip
-\begin{tabular}{ll}
-\verb$sin$, \verb$cos$, \verb$tan$, \verb$acos$, \verb$asin$ & in radians\\
-\verb$log$, \verb$ln$\\
-\verb$ceiling$, \verb$floor$, \verb$truncate$, \verb$round$\\
-\verb$sqrt$ & square root\\
-\verb$abs$ & absolute value\\
-\verb$fact$ & for the factorial\\
-\verb$Sum$ & for building sums\\
-\verb$IfTE$ & for an easy case structure
-\end{tabular}
+\clearpage
+%--------------------------------------------------------------------------------------
+\subsection{\texttt{comma}}
+%--------------------------------------------------------------------------------------
+Syntax:
+\begin{lstlisting}[style=syntax]
+comma=false|true
+\end{lstlisting}
+Setting this option to true gives labels with a comma as a decimal separator instead
+of the dot. \verb|comma| and \verb|comma=true| is the same.
+\resetOptions
\medskip
-These options can be used with \textbf{all} plot macros.
+\begin{LTXexample}[width=5.5cm]
+\begin{pspicture}(-0.5,-0.5)(5,5.5)
+\psaxes[Dx=1.5,comma,Dy=0.75,dy=0.75]{->}(5,5)
+\psplot[linecolor=red,linewidth=3pt]{0}{4.5}%
+ {x RadtoDeg cos 2 mul 2.5 add}
+\psline[linestyle=dashed](0,2.5)(4.5,2.5)
+\end{pspicture}
+\end{LTXexample}
-{\bfseries Using the option \verb+algebraic+ implies that all angles have to be used in the
-radian unit! }
+%--------------------------------------------------------------------------------------
+\subsection{\texttt{xyDecimals}, \texttt{xDecimals} and \texttt{yDecimals}}
+%--------------------------------------------------------------------------------------
+Syntax:
+\begin{lstlisting}[style=syntax]
+xyDecimals=<number>
+xDecimals=<any>
+yDecimals=<any>
+\end{lstlisting}
+By default the labels of the axes get numbers with or without decimals, just depending to the
+numbers. With these options \verb|??Decimals| it is possible to determine the decimals,
+where the option \verb|xyDecimals| sets this identical for both axes.
+The default setting \verb|{}| means, that you'll get the standard behaviour.
-For the \verb+\parametricplot+ the two parts must be divided by the \verb+|+ character:
-\begin{LTXexample}[width=2cm]
-\begin{pspicture}(-0.5,-0.5)(0.5,0.5)
-\parametricplot[algebraic,linecolor=red]{-3.14}{3.14}{cos(t)|sin(t)}
+\begin{LTXexample}[width=6cm]
+\begin{pspicture}(-1.5,-0.5)(5,3.75)
+ \psaxes[xyDecimals=2]{->}(0,0)(4.5,3.5)
+\end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}[pos=t]
+\psset{xunit=10cm,yunit=0.01cm,labelFontSize=\footnotesize}
+\begin{pspicture}(-0.3,-150)(1.5,550.0)
+ \psaxes[Dx=0.25,Dy=100,ticksize=-4pt 0,comma=true,xDecimals=3,yDecimals=1]{->}%
+ (0,0)(0,-100)(1.4,520)[\textbf{Amp\`ere},-90][\textbf{Voltage},0]
\end{pspicture}
\end{LTXexample}
+\resetOptions
+
+%--------------------------------------------------------------------------------------
+\subsection{\texttt{trigLabels} and \texttt{trigLabelBase} -- axis with trigonmetrical units}
+%--------------------------------------------------------------------------------------
+With the option \verb+trigLabels=true+ the labels on the x axis are trigonometrical ones.
+The option \verb+trigLabelBase+ set the demoninator of fraction. The default value of
+0 is the same as no fraction.
+The following constants are are defined in the package:
+\begin{lstlisting}[style=syntax]
+\def§\ON§\psPiFour§\OFF§{12.566371}
+\def§\ON§\psPiTwo§\OFF§{6.283185}
+\def§\ON§\psPi§\OFF§{3.14159265}
+\def§\ON§\psPiH§\OFF§{1.570796327}
+\newdimen\pstRadUnit
+\newdimen\pstRadUnitInv
+§\ON§\pstRadUnit§\OFF§=1.047198cm % this is pi/3
+§\ON§\pstRadUnitInv§\OFF§=0.95493cm % this is 3/pi
+\end{lstlisting}
+
+
+
+Because it is a bit complicating to set the right values, we show some more examples
+here.
+
+For \textbf{all} following examples in this section we did a
+global
+
+\lstinline[frame=single]|\psset{trigLabels=true,labelFontSize=\small}|.
+
+
+\psset{trigLabels,labelFontSize=\small}
+Translating the decimal ticks to geometrical makes no real sense,
+because every 1 xunit (1cm) is a tick and the last one at 6cm.
\clearpage
-\bigskip
-%\begin{LTXexample}[pos=t]
-\psset{lly=-0.5cm}
-\psgraph(-10,-3)(10,2){\linewidth}{6cm}
- \psset{algebraic, plotpoints=101}
- \psplot[linecolor=yellow, linewidth=4\pslinewidth]{-10}{10}{2*sin(x)}%
- \psplot[linecolor=red, showpoints=true]{-10}{10}{2*sin(x)}
-\endpsgraph
-%\end{LTXexample}
+\begin{minipage}{0.4\fullWidth}
+\begin{pspicture}[trigLabels=true](-0.5,-1.25)(6.5,1.25)%
+ \pnode(5,0){A}%
+ \psaxes{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)%
+\end{pspicture}
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
+\begin{lstlisting}
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)%
+ \pnode(5,0){A}%
+ \psaxes{->}(0,0)(-.5,-1.25)(\psPiTwo,1.25)
+\end{pspicture}
+\end{lstlisting}
+\end{minipage}
-\bigskip
+\begin{minipage}{0.4\fullWidth}
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)%
+ \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
+\end{pspicture}
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
\begin{lstlisting}
-\psset{lly=-0.5cm}
-\psgraph(-10,-3)(10,2){\linewidth}{6cm}
- \psset{algebraic,plotpoints=101}
- \psplot[linecolor=yellow, linewidth=4\pslinewidth]{-10}{10}{2*sin(x)}%
- \psplot[linecolor=red, showpoints=true]{-10}{10}{2*sin(x)}
-\endpsgraph
+\begin{pspicture}(-0.5,-1.25)(10,1.25)%
+ \psaxes[§\ON§trigLabelBase=3§\OFF§]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
+\end{pspicture}
\end{lstlisting}
+\end{minipage}
-\bigskip
-%\begin{LTXexample}[pos=t]
-\bgroup
-\psset{lly=-0.5cm}
-\psgraph(0,-5)(18,3){15cm}{5cm}
- \psset{algebraic,plotpoints=501}
- \psplot[linecolor=yellow, linewidth=4\pslinewidth]{0.01}{18}{ln(x)}%
- \psplot[linecolor=red]{0.01}{18}{ln(x)}
- \psplot[linecolor=yellow,linewidth=4\pslinewidth]{0}{18}{3*cos(x)*2.71^(-x/10)}
- \psplot[linecolor=blue,showpoints=true,plotpoints=51]{0}{18}{3*cos(x)*2.71^(-x/10)}
-\endpsgraph
-\egroup
-%\end{LTXexample}
+Modifing the ticks to have the last one exactly at the end is possible
+with a different dx value ($\frac{\pi}{3}\approx 1.047$):
+
+
+\begin{minipage}{0.4\fullWidth}
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(\psPiTwo,0){C}%
+ \psaxes[dx=\pstRadUnit]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
+\end{pspicture}%
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
+\begin{lstlisting}
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(\psPiTwo,0){C}%
+ \psaxes[§\ON§dx=\pstRadUnit§\OFF§]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
+\end{pspicture}%
+\end{lstlisting}
+\end{minipage}
+
+
+\begin{minipage}{0.4\fullWidth}
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(5,0){B}%
+ \psaxes[dx=\pstRadUnit,trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
+\end{pspicture}%
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
+\begin{lstlisting}
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(5,0){B}%
+ \psaxes[dx=\pstRadUnit,§\ON§trigLabelBase=3§\OFF§] {->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
+\end{pspicture}%
+\end{lstlisting}
+\end{minipage}
+
+\ncline[linestyle=dashed,linewidth=0.4pt]{A}{B}
+
+Set globaly everything in radiant unit. Now 6 units on the $x$-axis
+are $6\pi$. Using \verb+trigLabelBase=3+ reduces this value to $2\pi$, a.s.o.
\bigskip
+\begin{minipage}{0.4\fullWidth}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(6,0){D}%
+ \psaxes{->}(0,0)(-0.5,-1.25)(6.5,1.25)%
+\end{pspicture}%
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
\begin{lstlisting}
-\psset{lly=-0.5cm}
-\psgraph(0,-5)(18,3){15cm}{5cm}
- \psset{algebraic,plotpoints=501}
- \psplot[linecolor=yellow, linewidth=4\pslinewidth]{0.01}{18}{ln(x)}%
- \psplot[linecolor=red]{0.01}{18}{ln(x)}
- \psplot[linecolor=yellow,linewidth=4\pslinewidth]{0}{18}{3*cos(x)*2.71^(-x/10)}
- \psplot[linecolor=blue,showpoints=true,plotpoints=51]{0}{18}{3*cos(x)*2.71^(-x/10)}
-\endpsgraph
+\psset{§\ON§xunit=\pstRadUnit§\OFF§}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(6,0){D}%
+ \psaxes{->}(0,0)(-0.5,-1.25)(6.5,1.25)%
+\end{pspicture}%
\end{lstlisting}
+\end{minipage}
+\ncline[linestyle=dashed,linewidth=0.4pt]{C}{D}
+\begin{minipage}{0.4\fullWidth}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+\end{pspicture}%
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
+\begin{lstlisting}
+\psset{§\ON§xunit=\pstRadUnit§\OFF§}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[§\ON§trigLabelBase=3§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+\end{pspicture}%
+\end{lstlisting}
+\end{minipage}
-\clearpage
-%--------------------------------------------------------------------------------------
-\subsubsection{Using the \texttt{Sum} function}
-%--------------------------------------------------------------------------------------
-Syntax: \verb+Sum(<index name>,<start>,<step>,<end>,<function>)+
-Let's plot the first development of cosine with polynomials:
-$\displaystyle\sum_{n=0}^{+\infty}\frac{(-1)^nx^{2n}}{n!}$.
+\begin{minipage}{0.4\fullWidth}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[trigLabelBase=4]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+\end{pspicture}%
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
+\begin{lstlisting}
+\psset{§\ON§xunit=\pstRadUnit§\OFF§}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[§\ON§trigLabelBase=4§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+\end{pspicture}%
+\end{lstlisting}
+\end{minipage}
-\begin{center}
-\bgroup
-\psset{algebraic, plotpoints=501, yunit=3}
-\def\getColor#1{\ifcase#1 black\or red\or magenta\or yellow\or green\or Orange\or blue\or
- DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\fi}
-\begin{pspicture}(-7,-1.5)(7,1.5)
- \psclip{\psframe(-7,-1.5)(7,1.5)}
- \psplot{-7}{7}{cos(x)}
- \multido{\n=1+1}{10}{%
- \psplot[linewidth=1pt,linecolor=\getColor{\n}]{-7}{7}{%
- Sum(ijk,0,1,\n,(-1)^ijk*x^(2*ijk)/fact(2*ijk))}}
- \endpsclip
- \psaxes(0,0)(-7,-1.5)(7,1.5)
-\end{pspicture}
-\egroup
-\end{center}
+\begin{minipage}{0.4\fullWidth}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[trigLabelBase=6]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+\end{pspicture}%
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
\begin{lstlisting}
-\psset{algebraic, plotpoints=501, yunit=3}
-\def\getColor#1{\ifcase#1 black\or red\or magenta\or yellow\or green\or Orange\or blue\or
- DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\fi}
-\begin{pspicture}(-7,-1.5)(7,1.5)
- \psclip{\psframe(-7,-1.5)(7,1.5)}
- \psplot{-7}{7}{cos(x)}
- \multido{\n=1+1}{10}{%
- \psplot[linewidth=1pt,linecolor=\getColor{\n}]{-7}{7}{%
- Sum(ijk,0,1,\n,(-1)^ijk*x^(2*ijk)/fact(2*ijk))}}
- \endpsclip
- \psaxes(0,0)(-7,-1.5)(7,1.5)
-\end{pspicture}
+\psset{§\ON§xunit=\pstRadUnit§\OFF§}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[§\ON§trigLabelBase=6§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+\end{pspicture}%
\end{lstlisting}
+\end{minipage}
-\clearpage
-%--------------------------------------------------------------------------------------
-\subsubsection{Using the \texttt{IfTE} function}
-%--------------------------------------------------------------------------------------
-Syntax: \verb+IfTE(<condition>,<true part>,<false part>)+
-Nesting of several \verb+IfTE+ are possible and seen in the following examples.
-A classical example is a piece wise linear function.
-\begin{center}
-\begin{pspicture}(-7.5,-2.5)(7.5,6)\psgrid[subgriddiv=1,gridcolor=lightgray]
- \psset{algebraic=true, plotpoints=21,linewidth=2pt}
- \psplot[linecolor=blue]{-7.5}{7.5}{IfTE(x<-6,8+x,IfTE(x<0,-x/3,IfTE(x<3,2*x,9-x)))}
- \psplot[linecolor=red, plotpoints=101]{-7.5}{7.5}{%
- IfTE(2*x<-2^2*sqrt(9),7+x,IfTE(x<0,x^2/18-1,IfTE(x<3,2*x^2/3-1,8-x)))}%
+The best way seems to be setting the $x$-unit to \verb+\pstRadUnit+. Plotting a
+function doesn't consider the value for \verb+trigLabelBase+, it has to be done by
+the user. The first example sets the unit locally for the \verb+\psplot+
+back to 1cm, which is needed, because we use this unit on PostScript side.
+
+\begin{minipage}{0.4\fullWidth}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+ \psplot[xunit=1cm,linecolor=red,linewidth=1.5pt]{0}{\psPiTwo}{x RadtoDeg sin}
\end{pspicture}
-\end{center}
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
+\begin{lstlisting}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+ \psplot[§\ON§xunit=1cm§\OFF§,linecolor=red,linewidth=1.5pt]{0}{§\ON§\psPiTwo§\OFF§}{x RadtoDeg sin}
+\end{pspicture}
+\end{lstlisting}
+\end{minipage}
+\begin{minipage}{0.4\fullWidth}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+ \psplot[linecolor=red,linewidth=1.5pt]{0}{6}{x Pi 3 div mul RadtoDeg sin}
+\end{pspicture}
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
\begin{lstlisting}
-\begin{pspicture}(-7.5,-2.5)(7.5,6)\psgrid[subgriddiv=1,gridcolor=lightgray]
- \psset{algebraic=true, plotpoints=21,linewidth=2pt}
- \psplot[linecolor=blue]{-7.5}{7.5}{IfTE(x<-6,8+x,IfTE(x<0,-x/3,IfTE(x<3,2*x,9-x)))}
- \psplot[linecolor=red, plotpoints=101]{-7.5}{7.5}{%
- IfTE(2*x<-2^2*sqrt(9),7+x,IfTE(x<0,x^2/18-1,IfTE(x<3,2*x^2/3-1,8-x)))}%
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+ \psplot[linecolor=red,linewidth=1.5pt]{0}{6}{x §\ON§Pi 3 div mul §\OFF§RadtoDeg sin}
\end{pspicture}
\end{lstlisting}
+\end{minipage}
-When you program a piece-wise defined function you must take care that a
-plotting point must be put on each point where the description changes. Use \verb+showpoints=true+ to
-see what's going on, when there is a problem. You are on the save side, when you choose a
-big number for \verb+plotpoints+.
-\clearpage
+\begin{minipage}{0.4\fullWidth}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[dx=1.5]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+ \psplot[xunit=.5cm,linecolor=red,linewidth=1.5pt]{0}{\psPiFour}{x RadtoDeg sin}
+\end{pspicture}
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
+\begin{lstlisting}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[§\ON§dx=1.5§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+ \psplot[§\ON§xunit=0.5cm§\OFF§,linecolor=red,linewidth=1.5pt]{0}{§\ON§\psPiFour§\OFF§}{x RadtoDeg sin}
+\end{pspicture}
+\end{lstlisting}
+\end{minipage}
-\begin{center}
-\begin{pspicture}[showgrid=true](-8,-8)(8,8)
- \psset{plotpoints=1000,linewidth=1pt}
- \psplot[algebraic]{-8}{8}{ceiling(x)}
- \psplot[algebraic, linecolor=yellow]{-8}{8}{rand/(2^31-1)+x}
- \psplot[algebraic, linecolor=red]{-8}{8}{floor(x)}
- \psplot[algebraic, linecolor=blue]{-8}{8}{round(x)}
- \psplot[algebraic, linecolor=green]{-8}{8}{truncate(x)}
- \psplot[algebraic, linecolor=cyan]{-8}{8}{div(mul(4,x),7)}
- \psplot[algebraic, linecolor=gray]{-8}{8}{abs(x)+abs(x-3)-abs(5-5*x/7)}
- \psplot[algebraic, linecolor=gray]{-8}{8}{abs(3*cos(x)+1)}
- \psplot[algebraic, linecolor=magenta]{-8}{8}{floor(8*cos(x))}
+\begin{minipage}{0.4\fullWidth}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[dx=0.75,trigLabelBase=2]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+ \psplot[xunit=.5cm,linecolor=red,linewidth=1.5pt]{0}{\psPiFour}{x RadtoDeg sin}
\end{pspicture}
-\end{center}
-
+\end{minipage}%
+\begin{minipage}{0.6\fullWidth}
\begin{lstlisting}
-\begin{pspicture}[showgrid=true](-8,-8)(8,8)
- \psset{plotpoints=1000,linewidth=1pt}
- \psplot[algebraic, linecolor=yellow]{-8}{8}{rand/(2^31-1)+x}
- \psplot[algebraic]{-8}{8}{ceiling(x)}
- \psplot[algebraic, linecolor=red]{-8}{8}{floor(x)}
- \psplot[algebraic, linecolor=blue]{-8}{8}{round(x)}
- \psplot[algebraic, linecolor=green]{-8}{8}{truncate(x)}
- \psplot[algebraic, linecolor=cyan]{-8}{8}{div(mul(4,x),7)}
- \psplot[algebraic, linecolor=gray]{-8}{8}{abs(x)+abs(x-3)-abs(5-5*x/7)}
- \psplot[algebraic, linecolor=gray]{-8}{8}{abs(3*cos(x)+1)}
- \psplot[algebraic, linecolor=magenta]{-8}{8}{floor(8*cos(x))}
+\psset{xunit=\pstRadUnit}%
+\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
+ \psaxes[§\ON§dx=0.75§\OFF§,§\ON§trigLabelBase=2§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
+ \psplot[§\ON§xunit=0.5cm§\OFF§,linecolor=red,linewidth=1.5pt]{0}{\psPiFour}{x RadtoDeg sin}
\end{pspicture}
\end{lstlisting}
+\end{minipage}
+It is also possible to set the $x$ unit and $dx$ value to get the labels
+right. But this needs some more understanding how it really works.
+A \verb+xunit=1.570796327+ sets the unit to $\pi/2$ and a \verb+dx=0.666667+
+then puts every $2/3$ of the unit a tick mark and a label. The length of
+the $x$-axis is 6.4 units which is $6.4\cdot 1.570796327cm\approx 10cm$.
+The function then is plotted from $0$ to $3\pi=9.424777961$.
-%--------------------------------------------------------------------------------------
-\subsection{\texttt{comma}}
-%--------------------------------------------------------------------------------------
-Syntax:
-\begin{lstlisting}[style=syntax]
-comma=false|true
-\end{lstlisting}
-Setting this option to true gives labels with a comma as a decimal separator instead
-of the dot. \verb|comma| and \verb|comma=true| is the same.
-\resetOptions
-\medskip
-\begin{LTXexample}[width=5.5cm]
-\begin{pspicture}(-0.5,-0.5)(5,5.5)
-\psaxes[Dx=1.5,Dy=0.5,comma]{->}(5,5)
-\psplot[linecolor=red,linewidth=3pt]{0}{4.5}%
- {x 180 mul 1.52 div cos 2 mul 2.5 add}
-\psline[linestyle=dashed](0,2.5)(4.5,2.5)
-\end{pspicture}
-\end{LTXexample}
-%--------------------------------------------------------------------------------------
-\subsection{\texttt{xyAxes}, \texttt{xAxis} and \texttt{yAxis}}
-%--------------------------------------------------------------------------------------
-Syntax:
-\begin{lstlisting}[style=syntax]
-xyAxes=true|false
-xAxis=true|false
-yAxis=true|false
+\begin{center}
+\psset{unit=1cm}
+\begin{pspicture}(-0.5,-1.25)(10,1.25)
+ \psaxes[xunit=1.570796327,showorigin=false,trigLabelBase=3,dx=0.666667]{->}(0,0)(-0.5,-1.25)(6.4,1.25)
+ \psplot[linecolor=red,linewidth=1.5pt]{0}{9.424777961}{%
+ x RadtoDeg dup sin exch 1.1 mul cos add}
+\end{pspicture}
+\end{center}
+\begin{lstlisting}
+\begin{pspicture}(-0.5,-1.25)(10,1.25)
+ \psaxes[§\ON§xunit=1.570796327§\OFF§,§\ON§trigLabelBase=3§\OFF§,§\ON§dx=0.666667§\OFF§]{->}(0,0)(-0.5,-1.25)(6.4,1.25)
+ \psplot[linecolor=red,linewidth=1.5pt]{0}{§\ON§9.424777961§\OFF§}{%
+ x RadtoDeg dup sin exch 1.1 mul cos add}
+\end{pspicture}
\end{lstlisting}
-Sometimes there is only a need for one axis with ticks. In this case you can set one
-of the following options to false. The \verb+xyAxes+ makes only sense, when you want
-to set both, x and y to true with only one command again to the default, because with
-\verb+xyAxes=false+ you get nothing with the \verb+psaxes+ macro.
+\begin{center}
+\psset{unit=1cm}
+\begin{pspicture}(-0.5,-1.25)(10,1.25)
+ \psaxes[xunit=\psPi,dx=0.25]{->}(0,0)(-0.25,-1.25)(3.2,1.25)
+ \psplot[xunit=0.25,plotpoints=500,linecolor=red,linewidth=1.5pt]{0}{37.70}{%
+ x RadtoDeg dup sin exch 1.1 mul cos add}
+\end{pspicture}
+\end{center}
+\begin{lstlisting}
+\psset{§\ON§unit=1cm§\OFF§}
+ \psplot[§\ON§xunit=0.25§\OFF§,§\ON§plotpoints=500§\OFF§,linecolor=red,linewidth=1.5pt]{0}{37.70}{%
+ x RadtoDeg dup sin exch 1.1 mul cos add}
+\end{pspicture}
+\end{lstlisting}
-\resetOptions%
-\begin{LTXexample}
-\begin{pspicture}(5,1)
-\psaxes[yAxis=false,linecolor=blue]{->}(0,0.5)(5,0.5)
+\begin{center}
+\psset{unit=1cm}
+\begin{pspicture}(-0.5,-2)(10,2)
+ \psplot[xunit=0.0625,linecolor=red,linewidth=1.5pt,plotpoints=5000]{0}{150.80}{%
+ x RadtoDeg dup sin exch 1.1 mul cos add}
+ \psaxes[xunit=\psPi,dx=0.5,Dx=8,subticks=2]{->}(0,0)(-0.1,-2)(3.2,2)
\end{pspicture}
-\begin{pspicture}(1,5)
-\psaxes[xAxis=false,linecolor=red]{->}(0.5,0)(0.5,5)
+\end{center}
+\begin{lstlisting}
+\psset{§\ON§unit=1cm§\OFF§}
+\begin{pspicture}(-0.5,-1.25)(10,1.25)
+ \psplot[§\ON§xunit=0.0625§\OFF§,linecolor=red,linewidth=1.5pt,%
+ §\ON§plotpoints=5000§\OFF§]{0}{150.80}%
+ {x RadtoDeg dup sin exch 1.1 mul cos add}
+ \psaxes[§\ON§xunit=\psPi§\OFF§,§\ON§dx=0.5§\OFF§,§\ON§Dx=8§\OFF§]{->}(0,0)(-0.25,-1.25)(3.2,1.25)
\end{pspicture}
-\begin{pspicture}(1,5)
-\psaxes[xAxis=false,linecolor=red]{->}(0.5,0)(0.5,5)
-\end{pspicture}\hspace{2em}
-\begin{pspicture}(1,5)
-\psaxes[xAxis=false,linecolor=red,labelsep=-20pt]{->}(0.5,0)(0.5,5)
-\end{pspicture}%
-\begin{pspicture}(1,5)
-\psaxes[xAxis=false,linecolor=red]{->}(0.5,0)(0.501,5)
-\end{pspicture}%
-\end{LTXexample}
+\end{lstlisting}
-As seen in the example, a single y axis gets the labels on the right side. This can be
-changed in two ways, first with the option \verb+labelsep+ and second with a very
-short and therefore invisible x-axis (right example).
-%--------------------------------------------------------------------------------------
-\subsection{\texttt{xyDecimals}, \texttt{xDecimals} and \texttt{yDecimals}}
-%--------------------------------------------------------------------------------------
-Syntax:
-\begin{lstlisting}[style=syntax]
-xyDecimals=<number>
-xDecimals=<any>
-yDecimals=<any>
+\begin{center}
+\psset{unit=1cm}
+\begin{pspicture}(-7,-1.5)(7,1.5)
+ \psaxes[trigLabels=true,xunit=\psPi]{->}(0,0)(-2.2,-1.5)(2.2,1.5)
+ \psplot[linecolor=red,linewidth=1.5pt]{-7}{7}{x RadtoDeg sin}
+\end{pspicture}
+\end{center}
+\begin{lstlisting}
+\begin{pspicture}(-7,-1.5)(7,1.5)
+ \psaxes[trigLabels=true,§\ON§xunit=\psPi§\OFF§]{->}(0,0)(-2.2,-1.5)(2.2,1.5)
+ \psplot[linecolor=red,linewidth=1.5pt]{-7}{7}{x RadtoDeg sin}
+\end{pspicture}
\end{lstlisting}
-By default the labels of the axes get numbers with or without decimals, just depending to the
-numbers. With these options \verb|??Decimals| it is possible to determine the decimals,
-where the option \verb|xyDecimals| sets this identical for both axes.
-The default setting \verb|{}| means, that you'll get the standard behaviour.
-\begin{LTXexample}[width=6cm]
-\begin{pspicture}(-1.5,-0.5)(5,3.75)
- \psaxes[xyDecimals=2]{->}(0,0)(4.5,3.5)
+\begin{center}
+\psset{unit=1cm}
+\begin{pspicture}(-7,-1.5)(7,1.5)
+ \psaxes[trigLabels=true,
+ trigLabelBase=2,dx=\psPiH,xunit=\psPi]{->}(0,0)(-2.2,-1.5)(2.2,1.5)
+ \psplot[linecolor=red,linewidth=1.5pt]{-7}{7}{x RadtoDeg sin}
\end{pspicture}
-\end{LTXexample}
+\end{center}
+\begin{lstlisting}
+\begin{pspicture}(-7,-1.5)(7,1.5)
+ \psaxes[trigLabels=true,
+ trigLabelBase=2,dx=\psPiH,xunit=\psPi]{->}(0,0)(-2.2,-1.5)(2.2,1.5)
+ \psplot[linecolor=red,linewidth=1.5pt]{-7}{7}{x RadtoDeg sin}
+\end{pspicture}
+\end{lstlisting}
-\begin{LTXexample}
-\psset{xunit=10cm,yunit=0.01cm,labelFontSize=\footnotesize}
-\begin{pspicture}(-0.3,-150)(1.5,550.0)
- \psaxes[Dx=0.25,Dy=100,ticksize=-4pt 0,comma=true,%
- xDecimals=3,yDecimals=1]{->}(0,0)(0,-100)(1.4,520)%
- [\textbf{Amp\`ere},-90][\textbf{Voltage},0]
-\end{pspicture}
-\end{LTXexample}
+\psset{trigLabels=false}
+
-\resetOptions
%--------------------------------------------------------------------------------------
\subsection{\texttt{ticks}}
@@ -3856,44 +4124,6 @@ Single ticks can be set with the two macros
\psyTick[linecolor=blue](1.7){$y_0$}
\end{psgraph}
\end{LTXexample}
-
-%--------------------------------------------------------------------------------------
-\subsection{\texttt{labels}}
-%--------------------------------------------------------------------------------------
-Syntax:
-\begin{lstlisting}[style=syntax]
-labels=all|x|y|none
-\end{lstlisting}
-
-This option is also already in the \verb+pst-plot+ package and only mentioned here for
-some completness.
-
-\begin{LTXexample}[width=3.5cm]
-\psset{ticksize=6pt}
-\begin{pspicture}(-1,-1)(2,2)
-\psaxes[labels=all,subticks=5]{->}(0,0)(-1,-1)(2,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}(-1,-1)(2,2)
-\psaxes[labels=y,subticks=5]{->}(0,0)(-1,-1)(2,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}(-1,-1)(2,2)
-\psaxes[labels=x,subticks=5]{->}(0,0)(2,2)(-1,-1)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}(-1,-1)(2,2)
-\psaxes[labels=none,subticks=5]{->}(0,0)(2,2)(-1,-1)
-\end{pspicture}
-\end{LTXexample}
-
-
%--------------------------------------------------------------------------------------
\subsection{\texttt{ticksize}, \texttt{xticksize}, \texttt{yticksize}}
%--------------------------------------------------------------------------------------
@@ -3918,25 +4148,27 @@ are set from positive to negative values.
\medskip
\begin{LTXexample}[width=6cm]
-\psset{arrowscale=3}
+\psset{arrowscale=2}
\begin{pspicture}(-1.5,-1.5)(4,3.5)
\psaxes[ticksize=0.5cm]{->}(0,0)(-1.5,-1.5)(4,3.5)
\end{pspicture}
\end{LTXexample}
\begin{LTXexample}[width=6cm]
-\psset{arrowscale=3}
+\psset{arrowscale=2}
\begin{pspicture}(-1.5,-1.5)(4,3.5)
- \psaxes[xticksize=-10pt 0,yticksize=0 10pt]{->}(0,0)(-1.5,-1.5)(4,3.5)
+ \psaxes[xticksize=-10pt 0,yticksize=0 10pt]%
+ {->}(0,0)(-1.5,-1.5)(4,3.5)
\end{pspicture}
\end{LTXexample}
A grid is also possible by setting the values to the max/min coordinates.
\begin{LTXexample}[width=6cm]
-\psset{arrowscale=3}
+\psset{arrowscale=2}
\begin{pspicture}(-.5,-.5)(5,4.5)
- \psaxes[ticklinestyle=dashed,ticksize=0 4cm]{->}(0,0)(-.5,-.5)(5,4.5)
+ \psaxes[ticklinestyle=dashed,
+ ticksize=0 4cm]{->}(0,0)(-.5,-.5)(5,4.5)
\end{pspicture}
\end{LTXexample}
@@ -4000,7 +4232,6 @@ can have any number. 1 sets it to the same length as the main ticks.
\end{pspicture}
\end{LTXexample}
-\clearpage
%--------------------------------------------------------------------------------------
\subsection{\texttt{tickcolor}, \texttt{subtickcolor}}
@@ -4019,19 +4250,15 @@ ysubtickcolor=<color>
\begin{LTXexample}[preset=\centering,pos=t]
\begin{pspicture}(0,-0.75)(10,1)
-\psaxes[labelsep=2pt,yAxis=false,labelFontSize=\footnotesize,%
- labelsep=-10pt,ticksize=0 10mm,subticks=10,subticksize=0.75,%
- tickcolor=red,subtickcolor=blue,tickwidth=1pt,%
- subtickwidth=0.5pt](10.01,0)
+\psaxes[yAxis=false,labelFontSize=\footnotesize,ticksize=0 10mm,subticks=10,subticksize=0.75,
+ tickcolor=red,subtickcolor=blue,tickwidth=1pt,subtickwidth=0.5pt](10.01,0)
\end{pspicture}
\end{LTXexample}
\begin{LTXexample}[width=5cm]
\begin{pspicture}(5,-0.75)(10,1)
-\psaxes[labelsep=2pt,yAxis=false,labelFontSize=\footnotesize,%
- labelsep=5pt,ticksize=0 -10mm,subticks=10,subticksize=0.75,%
- tickcolor=red,subtickcolor=blue,tickwidth=1pt,%
- subtickwidth=0.5pt,Ox=5](5,0)(5,0)(10.01,0)
+\psaxes[yAxis=false,labelFontSize=\footnotesize,ticksize=0 -10mm,subticks=10,subticksize=0.75,
+ tickcolor=red,subtickcolor=blue,tickwidth=1pt,subtickwidth=0.5pt,Ox=5](5,0)(5,0)(10.01,0)
\end{pspicture}
\end{LTXexample}
@@ -4056,10 +4283,9 @@ value \verb+none+ doesn't really makes sense, because it is the same to
\begin{LTXexample}[preset=\centering,pos=t]
\psset{unit=4cm}
\pspicture(-0.15,-0.15)(2.5,1)
- \psaxes[axesstyle=frame,logLines=y,xticksize=0 1,xsubticksize=1,%
- ylogBase=10,tickcolor=red,subtickcolor=blue,tickwidth=1pt,%
- subticks=20,xsubticks=10,xticklinestyle=dashed,%
- xsubticklinestyle=dashed](2.5,1)
+ \psaxes[axesstyle=frame,logLines=y,xticksize=0 1,xsubticksize=1,ylogBase=10,
+ tickcolor=red,subtickcolor=blue,tickwidth=1pt,subticks=20,xsubticks=10,
+ xticklinestyle=dashed,xsubticklinestyle=dashed](2.5,1)
\endpspicture
\end{LTXexample}
@@ -4082,17 +4308,16 @@ loglines=all|x|y
\begin{LTXexample}[preset=\centering,pos=t]
\psset{unit=4cm}
\pspicture(-0.15,-0.15)(2.5,3)
- \psaxes[axesstyle=frame,logLines=y,xticksize=0 3,xsubticksize=1,%
- ylogBase=10,tickcolor=red,subtickcolor=blue,tickwidth=1pt,%
- subticks=20,xsubticks=10](2.5,3)
+ \psaxes[axesstyle=frame,logLines=y,xticksize=0 3,xsubticksize=1,ylogBase=10,
+ tickcolor=red,subtickcolor=blue,tickwidth=1pt,subticks=20,xsubticks=10](2.5,3)
\endpspicture
\end{LTXexample}
\begin{LTXexample}[preset=\centering,pos=t]
\psset{unit=4}
\pspicture(-0.5,-0.3)(3,1.2)
- \psaxes[axesstyle=frame,logLines=x,xlogBase=10,Dy=0.5,%
- tickcolor=red,subtickcolor=blue,tickwidth=1pt,ysubticks=5,xsubticks=10](3,1)
+ \psaxes[axesstyle=frame,logLines=x,xlogBase=10,Dy=0.5,tickcolor=red,
+ subtickcolor=blue,tickwidth=1pt,ysubticks=5,xsubticks=10](3,1)
\endpspicture
\end{LTXexample}
@@ -4295,63 +4520,63 @@ This is only a demonstration that the default option \verb|logBase={}| still wor
\begin{center}
-\psset{arrowscale=3}
- \psaxes[labelsep=2pt,yAxis=false,subticks=8]{->}(0,0)(-5,-1)(5,1)\\[1cm]
- \psaxes[yAxis=false,subticks=4,ticksize=-4pt 0]{->}(0,0)(5,1)(-5,-1)\\
- \psaxes[yAxis=false,subticks=4,ticksize=-10pt 0]{->}(0,0)(-5,-5)(5,5)\\[1cm]
- \psaxes[yAxis=false,subticks=10,ticksize=0 -10pt,labelsep=15pt]{->}(0,0)(-5,-5)(5,5)\\[1cm]
- \psaxes[yAxis=false,subticks=4,ticksize=0 10pt,labelsep=-15pt]{->}(0,0)(5,5)(-5,-5)\\[1cm]
- \psaxes[yAxis=false,subticks=4,ticksize=0 -10pt]{->}(0,0)(5,5)(-5,-5)\\[0.25cm]
- \psaxes[yAxis=false,subticks=0]{->}(0,0)(-5,-5)(5,5)\\[1cm]
- \psaxes[yAxis=false,subticks=0,tickcolor=red,linecolor=blue]{->}(0,0)(5,5)(-5,-5)\\
- \psaxes[yAxis=false,subticks=5,tickwidth=2pt,subtickwidth=1pt]{->}(0,0)(-5,-5)(5,5)\\[1cm]
- \psaxes[yAxis=false,subticks=0,tickcolor=red]{->}(0,0)(5,5)(-5,-5)
+{\psset{arrowscale=3,arrows=-D>,yAxis=false}
+ \psaxes[subticks=8](0,0)(-5,-1)(5,1)\\[1cm]
+ \psaxes[subticks=4,ticksize=-4pt 0,xlabelPos=top](0,0)(5,1)(-5,-1)\\
+ \psaxes[subticks=4,ticksize=-10pt 0](0,0)(-5,-5)(5,5)\\[1cm]
+ \psaxes[subticks=10,ticksize=0 -10pt](0,0)(-5,-5)(5,5)\\[1cm]
+ \psaxes[subticks=4,ticksize=0 10pt,xlabelPos=bottom](0,0)(5,5)(-5,-5)\\[1cm]
+ \psaxes[subticks=4,ticksize=0 -10pt,xlabelPos=top](0,0)(5,5)(-5,-5)\\[0.25cm]
+ \psaxes[subticks=0](0,0)(-5,-5)(5,5)\\[1cm]
+ \psaxes[subticks=0,tickcolor=red,linecolor=blue,xlabelPos=top](0,0)(5,5)(-5,-5)\\
+ \psaxes[subticks=5,tickwidth=2pt,subtickwidth=1pt](0,0)(-5,-5)(5,5)\\[1cm]
+ \psaxes[subticks=0,tickcolor=red,xlabelPos=top](0,0)(5,5)(-5,-5)}
\end{center}
\begin{lstlisting}[xrightmargin=-1.75cm]
-\psset{arrowscale=3}
-\psaxes[labelsep=2pt,yAxis=false,subticks=8]{->}(0,0)(-5,-1)(5,1)\\[1cm]
-\psaxes[yAxis=false,subticks=4,ticksize=-4pt 0]{->}(0,0)(5,1)(-5,-1)\\
-\psaxes[yAxis=false,subticks=4,ticksize=-10pt 0]{->}(0,0)(-5,-5)(5,5)\\[1cm]
-\psaxes[yAxis=false,subticks=10,ticksize=0 -10pt,labelsep=15pt]{->}(0,0)(-5,-5)(5,5)\\[1cm]
-\psaxes[yAxis=false,subticks=4,ticksize=0 10pt,labelsep=-15pt]{->}(0,0)(5,5)(-5,-5)\\[1cm]
-\psaxes[yAxis=false,subticks=4,ticksize=0 -10pt]{->}(0,0)(5,5)(-5,-5)\\[0.25cm]
-\psaxes[yAxis=false,subticks=0]{->}(0,0)(-5,-5)(5,5)\\[1cm]
-\psaxes[yAxis=false,subticks=0,tickcolor=red,linecolor=blue]{->}(0,0)(5,5)(-5,-5)\\
-\psaxes[yAxis=false,subticks=5,tickwidth=2pt,subtickwidth=1pt]{->}(0,0)(-5,-5)(5,5)\\[1cm]
-\psaxes[yAxis=false,subticks=0,tickcolor=red]{->}(0,0)(5,5)(-5,-5)
+\psset{arrowscale=3,arrows=-D>,yAxis=false}
+ \psaxes[subticks=8](0,0)(-5,-1)(5,1)\\[1cm]
+ \psaxes[subticks=4,ticksize=-4pt 0,xlabelPos=top](0,0)(5,1)(-5,-1)\\
+ \psaxes[subticks=4,ticksize=-10pt 0](0,0)(-5,-5)(5,5)\\[1cm]
+ \psaxes[subticks=10,ticksize=0 -10pt](0,0)(-5,-5)(5,5)\\[1cm]
+ \psaxes[subticks=4,ticksize=0 10pt,xlabelPos=bottom](0,0)(5,5)(-5,-5)\\[1cm]
+ \psaxes[subticks=4,ticksize=0 -10pt,xlabelPos=top](0,0)(5,5)(-5,-5)\\[0.25cm]
+ \psaxes[subticks=0](0,0)(-5,-5)(5,5)\\[1cm]
+ \psaxes[subticks=0,tickcolor=red,linecolor=blue,xlabelPos=top](0,0)(5,5)(-5,-5)\\
+ \psaxes[subticks=5,tickwidth=2pt,subtickwidth=1pt](0,0)(-5,-5)(5,5)\\[1cm]
+ \psaxes[subticks=0,tickcolor=red,xlabelPos=top](0,0)(5,5)(-5,-5)}
\end{lstlisting}
\clearpage
\vspace*{4cm}
\begin{center}
- \psset{arrowscale=3}
- \psaxes[xAxis=false,subticks=8]{->}(0,0)(-5,-5)(5,5)\hspace{2em}
- \psaxes[xAxis=false,subticks=4]{->}(0,0)(5,5)(-5,-5)\hspace{4em}
- \psaxes[xAxis=false,subticks=4,ticksize=0 4pt]{->}(0,0)(-5,-5)(5,5)\hspace{3em}
- \psaxes[xAxis=false,subticks=4,ticksize=-4pt 0]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
- \psaxes[xAxis=false,subticks=4,ticksize=0 4pt]{->}(0,0)(5,5)(-5,-5)\hspace{2em}
- \psaxes[xAxis=false,subticks=4,ticksize=-4pt 0,linecolor=red]{->}(0,0)(5,5)(-5,-5)\hspace{4em}
- \psaxes[xAxis=false,subticks=0]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
- \psaxes[xAxis=false,subticks=0,tickcolor=red,linecolor=blue]{->}(0,0)(5,5)(-5,-5)\hspace{4em}
- \psaxes[xAxis=false,subticks=5,tickwidth=2pt,subtickwidth=1pt]{->}(0,0)(-5,-5)(5,5)\hspace{2em}
- \psaxes[xAxis=false,subticks=5,tickcolor=red,tickwidth=2pt,%
- ticksize=10pt,subtickcolor=blue,subticksize=0.75]{->}(0,0)(5,5)(-5,-5)
+\psset{arrowscale=3,xAxis=false}
+\psaxes[subticks=8]{->}(0,0)(-5,-5)(5,5)\hspace{2em}
+\psaxes[subticks=4,ylabelPos=right,ylabelPos=left]{->}(0,0)(5,5)(-5,-5)\hspace{4em}
+\psaxes[subticks=4,ticksize=0 4pt]{->}(0,0)(-5,-5)(5,5)\hspace{3em}
+\psaxes[subticks=4,ticksize=-4pt 0]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
+\psaxes[subticks=4,ticksize=0 4pt,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)\hspace{3em}
+\psaxes[subticks=4,ticksize=-4pt 0,linecolor=red,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)\hspace{5em}
+\psaxes[subticks=0]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
+\psaxes[subticks=0,tickcolor=red,linecolor=blue,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)\hspace{5em}
+\psaxes[subticks=5,tickwidth=2pt,subtickwidth=1pt]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
+\psaxes[subticks=5,tickcolor=red,tickwidth=2pt,%
+ ticksize=10pt,subtickcolor=blue,subticksize=0.75,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)
\end{center}
\vspace*{5cm}
\begin{lstlisting}[xrightmargin=-1.75cm]
-\psset{arrowscale=3}
-\psaxes[xAxis=false,subticks=8]{->}(0,0)(-5,-5)(5,5)\hspace{2em}
-\psaxes[xAxis=false,subticks=4]{->}(0,0)(5,5)(-5,-5)\hspace{4em}
-\psaxes[xAxis=false,subticks=4,ticksize=0 4pt]{->}(0,0)(-5,-5)(5,5)\hspace{3em}
-\psaxes[xAxis=false,subticks=4,ticksize=-4pt 0]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
-\psaxes[xAxis=false,subticks=4,ticksize=0 4pt]{->}(0,0)(5,5)(-5,-5)\hspace{2em}
-\psaxes[xAxis=false,subticks=4,ticksize=-4pt 0,linecolor=red]{->}(0,0)(5,5)(-5,-5)\hspace{4em}
-\psaxes[xAxis=false,subticks=0]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
-\psaxes[xAxis=false,subticks=0,tickcolor=red,linecolor=blue]{->}(0,0)(5,5)(-5,-5)\hspace{4em}
-\psaxes[xAxis=false,subticks=5,tickwidth=2pt,subtickwidth=1pt]{->}(0,0)(-5,-5)(5,5)\hspace{2em}
-\psaxes[xAxis=false,subticks=5,tickcolor=red,tickwidth=2pt,%
- ticksize=10pt,subtickcolor=blue,subticksize=0.75]{->}(0,0)(5,5)(-5,-5)
+\psset{arrowscale=3,xAxis=false}
+\psaxes[subticks=8]{->}(0,0)(-5,-5)(5,5)\hspace{2em}
+\psaxes[subticks=4,ylabelPos=right,ylabelPos=left]{->}(0,0)(5,5)(-5,-5)\hspace{4em}
+\psaxes[subticks=4,ticksize=0 4pt]{->}(0,0)(-5,-5)(5,5)\hspace{3em}
+\psaxes[subticks=4,ticksize=-4pt 0]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
+\psaxes[subticks=4,ticksize=0 4pt,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)\hspace{3em}
+\psaxes[subticks=4,ticksize=-4pt 0,linecolor=red,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)\hspace{5em}
+\psaxes[subticks=0]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
+\psaxes[subticks=0,tickcolor=red,linecolor=blue,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)\hspace{5em}
+\psaxes[subticks=5,tickwidth=2pt,subtickwidth=1pt]{->}(0,0)(-5,-5)(5,5)\hspace{1em}
+\psaxes[subticks=5,tickcolor=red,tickwidth=2pt,%
+ ticksize=10pt,subtickcolor=blue,subticksize=0.75,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)
\end{lstlisting}
\begin{LTXexample}[width=5.5cm]
@@ -4429,28 +4654,222 @@ This is only a demonstration that the default option \verb|logBase={}| still wor
\begin{LTXexample}[width=3.5cm]
\pspicture(0,1)(-3,-4)
\psaxes[axesstyle=axes,subticks=5,%
- ticksize=0 10pt,labelsep=13pt](-3,-4)
+ ticksize=0 10pt](-3,-4)
\endpspicture
\end{LTXexample}
+\clearpage
%--------------------------------------------------------------------------------------
-\subsection{\texttt{xlabelFactor} and \texttt{ylabelFactor}}
+\subsection[\texttt{algebraic}]{\texttt{algebraic}%\footnote{This part is adapted
+% from the package \texttt{pst-eqdf}, written by Dominique Rodriguez.}
+}
%--------------------------------------------------------------------------------------
-When having big numbers as data records then it makes sense to write the values
-as ${<number>\cdot 10^{<exp>}}$. These new options allow to define the additional part
-of the value, but it must be set in math mode when using math operators!
+By default the function of \verb+\psplot+ has to be described in Reversed Polish Notation.
+The option \verb+algebraic+ allows to do this in the common algebraic notation. E.g.:
+
+\begin{tabular}{l|l}
+RPN & algebraic\\\hline
+\verb+x ln+ & \verb+ln(x)+\\
+\verb+x cos 2.71 x neg 10 div exp mul+ & \verb+cos(x)*2.71^(-x/10)+\\
+\verb+1 x div cos 4 mul+ & \verb+4*cos(1/x)+\\
+\verb+t cos t sin+ & \verb+cos(t)|sin(t)+
+\end{tabular}
+
+Setting the option \verb$algebraic$ to \verb$true$, allow the user to describe all
+expression to be written in the classical algebraic notation (infix notation). The four arithmetic
+operarions are obviously defined \verb$+-*/$, and also the exponential operator
+\verb$^$. The natural priorities are used : $3+4\times 5^5=3+(4\times (5^5))$, and by default
+the computation is done from left to right. The following functions are defined :
+
+\medskip
+\begin{tabular}{ll}
+\verb$sin$, \verb$cos$, \verb$tan$, \verb$acos$, \verb$asin$ & in radians\\
+\verb$log$, \verb$ln$\\
+\verb$ceiling$, \verb$floor$, \verb$truncate$, \verb$round$\\
+\verb$sqrt$ & square root\\
+\verb$abs$ & absolute value\\
+\verb$fact$ & for the factorial\\
+\verb$Sum$ & for building sums\\
+\verb$IfTE$ & for an easy case structure
+\end{tabular}
+
+\medskip
+These options can be used with \textbf{all} plot macros.
+
+{\bfseries Using the option \verb+algebraic+ implies that all angles have to be used in the
+radian unit! }
+
+For the \verb+\parametricplot+ the two parts must be divided by the \verb+|+ character:
+
+\begin{LTXexample}[width=2cm]
+\begin{pspicture}(-0.5,-0.5)(0.5,0.5)
+\parametricplot[algebraic,linecolor=red]{-3.14}{3.14}{cos(t)|sin(t)}
+\end{pspicture}
+\end{LTXexample}
\resetOptions
-\begin{LTXexample}
-\readdata{\data}{demo1.dat}
-\pstScalePoints(1,0.000001){}{}% (x,y){additional x operator}{y op}
-\psset{llx=-1cm,lly=-1cm}
-\psgraph[ylabelFactor=\cdot 10^6,Dx=5,Dy=100](0,0)(25,750){8cm}{5cm}
- \listplot[linecolor=red, linewidth=2pt, showpoints=true]{\data}
+\bigskip
+%\begin{LTXexample}[pos=t]
+\psset{lly=-0.5cm}
+\psgraph[trigLabels,dx=\psPi,dy=0.5,Dy=0.5]{->}(0,0)(-10,-1)(10,1){\linewidth}{6cm}
+ \psset{algebraic,plotpoints=1000}
+ \psplot[linecolor=yellow,linewidth=2pt]{-10}{10}{0.75*sin(x)*cos(x/2)}%
+ \psplot[linecolor=red,showpoints=true,plotpoints=101]{-10}{10}{0.75*sin(x)*cos(x/2)}
\endpsgraph
-\pstScalePoints(1,1){}{}% reset
-\end{LTXexample}
+%\end{LTXexample}
+
+\bigskip
+\begin{lstlisting}
+\psset{lly=-0.5cm}
+\psgraph[trigLabels,dx=\psPi,dy=0.5,Dy=0.5]{->}(0,0)(-10,-1)(10,1){\linewidth}{6cm}
+ \psset{algebraic,plotpoints=1000}
+ \psplot[linecolor=yellow,linewidth=2pt]{-10}{10}{0.75*sin(x)*cos(x/2)}%
+ \psplot[linecolor=red,showpoints=true,plotpoints=101]{-10}{10}{0.75*sin(x)*cos(x/2)}
+\endpsgraph
+\end{lstlisting}
+
+
+\bigskip
+%\begin{LTXexample}[pos=t]
+\bgroup
+\psset{lly=-0.5cm}
+\psgraph(0,-5)(18,3){15cm}{5cm}
+ \psset{algebraic,plotpoints=501}
+ \psplot[linecolor=yellow, linewidth=4\pslinewidth]{0.01}{18}{ln(x)}%
+ \psplot[linecolor=red]{0.01}{18}{ln(x)}
+ \psplot[linecolor=yellow,linewidth=4\pslinewidth]{0}{18}{3*cos(x)*2.71^(-x/10)}
+ \psplot[linecolor=blue,showpoints=true,plotpoints=51]{0}{18}{3*cos(x)*2.71^(-x/10)}
+\endpsgraph
+\egroup
+%\end{LTXexample}
+
+
+\bigskip
+\begin{lstlisting}
+\psset{lly=-0.5cm}
+\psgraph(0,-5)(18,3){15cm}{5cm}
+ \psset{algebraic,plotpoints=501}
+ \psplot[linecolor=yellow, linewidth=4\pslinewidth]{0.01}{18}{ln(x)}%
+ \psplot[linecolor=red]{0.01}{18}{ln(x)}
+ \psplot[linecolor=yellow,linewidth=4\pslinewidth]{0}{18}{3*cos(x)*2.71^(-x/10)}
+ \psplot[linecolor=blue,showpoints=true,plotpoints=51]{0}{18}{3*cos(x)*2.71^(-x/10)}
+\endpsgraph
+\end{lstlisting}
+
+
+
+\clearpage
+%--------------------------------------------------------------------------------------
+\subsubsection{Using the \texttt{Sum} function}
+%--------------------------------------------------------------------------------------
+
+Syntax: \verb+Sum(<index name>,<start>,<step>,<end>,<function>)+
+
+Let's plot the first development of cosine with polynomials:
+$\displaystyle\sum_{n=0}^{+\infty}\frac{(-1)^nx^{2n}}{n!}$.
+
+\begin{center}
+\bgroup
+\psset{algebraic, plotpoints=501, yunit=3}
+\def\getColor#1{\ifcase#1 black\or red\or magenta\or yellow\or green\or Orange\or blue\or
+ DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\fi}
+\begin{pspicture}(-7,-1.5)(7,1.5)
+ \psclip{\psframe(-7,-1.5)(7,1.5)}
+ \psplot{-7}{7}{cos(x)}
+ \multido{\n=1+1}{10}{%
+ \psplot[linewidth=1pt,linecolor=\getColor{\n}]{-7}{7}{%
+ Sum(ijk,0,1,\n,(-1)^ijk*x^(2*ijk)/fact(2*ijk))}}
+ \endpsclip
+ \psaxes(0,0)(-7,-1.5)(7,1.5)
+\end{pspicture}
+\egroup
+\end{center}
+\begin{lstlisting}
+\psset{algebraic, plotpoints=501, yunit=3}
+\def\getColor#1{\ifcase#1 black\or red\or magenta\or yellow\or green\or Orange\or blue\or
+ DarkOrchid\or BrickRed\or Rhodamine\or OliveGreen\fi}
+\begin{pspicture}(-7,-1.5)(7,1.5)
+ \psclip{\psframe(-7,-1.5)(7,1.5)}
+ \psplot{-7}{7}{cos(x)}
+ \multido{\n=1+1}{10}{%
+ \psplot[linewidth=1pt,linecolor=\getColor{\n}]{-7}{7}{%
+ Sum(ijk,0,1,\n,(-1)^ijk*x^(2*ijk)/fact(2*ijk))}}
+ \endpsclip
+ \psaxes(0,0)(-7,-1.5)(7,1.5)
+\end{pspicture}
+\end{lstlisting}
+
+\clearpage
+%--------------------------------------------------------------------------------------
+\subsubsection{Using the \texttt{IfTE} function}
+%--------------------------------------------------------------------------------------
+Syntax: \verb+IfTE(<condition>,<true part>,<false part>)+
+
+Nesting of several \verb+IfTE+ are possible and seen in the following examples.
+A classical example is a piece wise linear function.
+
+\begin{center}
+\begin{pspicture}(-7.5,-2.5)(7.5,6)
+ \psaxes{->}(0,0)(-7,-2)(7.5,6)[x,-90][y,0]
+ \psset{algebraic=true, plotpoints=21,linewidth=2pt}
+ \psplot[linecolor=blue]{-7.5}{7.5}{IfTE(x<-6,8+x,IfTE(x<0,-x/3,IfTE(x<3,2*x,9-x)))}
+ \psplot[linecolor=red, plotpoints=101]{-7.5}{7.5}{%
+ IfTE(2*x<-2^2*sqrt(9),7+x,IfTE(x<0,x^2/18-1,IfTE(x<3,2*x^2/3-1,8-x)))}%
+\end{pspicture}
+\end{center}
+
+
+\begin{lstlisting}
+\begin{pspicture}(-7.5,-2.5)(7.5,6)
+ \psaxes{->}(0,0)(-7,-2)(7.5,6)[x,-90][y,0]
+ \psset{algebraic=true, plotpoints=21,linewidth=2pt}
+ \psplot[linecolor=blue]{-7.5}{7.5}{IfTE(x<-6,8+x,IfTE(x<0,-x/3,IfTE(x<3,2*x,9-x)))}
+ \psplot[linecolor=red, plotpoints=101]{-7.5}{7.5}{%
+ IfTE(2*x<-2^2*sqrt(9),7+x,IfTE(x<0,x^2/18-1,IfTE(x<3,2*x^2/3-1,8-x)))}%
+\end{pspicture}
+\end{lstlisting}
+
+When you program a piece-wise defined function you must take care that a
+plotting point must be put on each point where the description changes. Use \verb+showpoints=true+ to
+see what's going on, when there is a problem. You are on the save side, when you choose a
+big number for \verb+plotpoints+.
+
+\clearpage
+
+
+\begin{center}
+\begin{pspicture}(-8,-8)(8,8)
+ \psaxes{->}(0,0)(-8,-8)(8,8)[x,-90][y,0]
+ \psset{plotpoints=1000,linewidth=1pt}
+ \psplot[algebraic]{-8}{8}{ceiling(x)}
+ \psplot[algebraic, linecolor=yellow]{-8}{8}{rand/(2^31-1)+x}
+ \psplot[algebraic, linecolor=red]{-8}{8}{floor(x)}
+ \psplot[algebraic, linecolor=blue]{-8}{8}{round(x)}
+ \psplot[algebraic, linecolor=green]{-8}{8}{truncate(x)}
+ \psplot[algebraic, linecolor=cyan]{-8}{8}{div(mul(4,x),7)}
+ \psplot[algebraic, linecolor=gray]{-8}{8}{abs(x)+abs(x-3)-abs(5-5*x/7)}
+ \psplot[algebraic, linecolor=gray]{-8}{8}{abs(3*cos(x)+1)}
+ \psplot[algebraic, linecolor=magenta]{-8}{8}{floor(8*cos(x))}
+\end{pspicture}
+\end{center}
+
+\begin{lstlisting}
+\begin{pspicture}(-8,-8)(8,8)
+ \psaxes{->}(0,0)(-8,-8)(8,8)[x,-90][y,0]
+ \psset{plotpoints=1000,linewidth=1pt}
+ \psplot[algebraic, linecolor=yellow]{-8}{8}{rand/(2^31-1)+x}
+ \psplot[algebraic]{-8}{8}{ceiling(x)}
+ \psplot[algebraic, linecolor=red]{-8}{8}{floor(x)}
+ \psplot[algebraic, linecolor=blue]{-8}{8}{round(x)}
+ \psplot[algebraic, linecolor=green]{-8}{8}{truncate(x)}
+ \psplot[algebraic, linecolor=cyan]{-8}{8}{div(mul(4,x),7)}
+ \psplot[algebraic, linecolor=gray]{-8}{8}{abs(x)+abs(x-3)-abs(5-5*x/7)}
+ \psplot[algebraic, linecolor=gray]{-8}{8}{abs(3*cos(x)+1)}
+ \psplot[algebraic, linecolor=magenta]{-8}{8}{floor(8*cos(x))}
+\end{pspicture}
+\end{lstlisting}
+
%--------------------------------------------------------------------------------------
\subsection{Plot style \texttt{bar} and option \texttt{barwidth}}
@@ -4525,343 +4944,6 @@ value of \verb+0.25cm+, which is the total width.
\end{pspicture}
\end{LTXexample}
-%--------------------------------------------------------------------------------------
-\subsection{\texttt{trigLabels} and \texttt{trigLabelBase} -- axis with trigonmetrical units}
-%--------------------------------------------------------------------------------------
-With the option \verb+trigLabels=true+ the labels on the x axis are trigonometrical ones.
-The option \verb+trigLabelBase+ set the demoninator of fraction. The default value of
-0 is the same as no fraction.
-The following constants are are defined in the package:
-\begin{lstlisting}[style=syntax]
-\def§\ON§\psPiFour§\OFF§{12.566371}
-\def§\ON§\psPiTwo§\OFF§{6.283185}
-\def§\ON§\psPi§\OFF§{3.14159265}
-\def§\ON§\psPiH§\OFF§{1.570796327}
-\newdimen\pstRadUnit
-\newdimen\pstRadUnitInv
-§\ON§\pstRadUnit§\OFF§=1.047198cm % this is pi/3
-§\ON§\pstRadUnitInv§\OFF§=0.95493cm % this is 3/pi
-\end{lstlisting}
-
-
-
-Because it is a bit complicating to set the right values, we show some more examples
-here.
-
-For \textbf{all} following examples in this section we did a
-global\\ \lstinline[frame=single]|\psset{trigLabels=true,labelFontSize=\small}|.
-
-
-
-\psset{trigLabels,labelFontSize=\small}
-Translating the decimal ticks to geometrical makes no real sense,
-because every 1 xunit (1cm) is a tick and the last one at 6cm.
-
-\begin{minipage}{0.4\fullWidth}
-\begin{pspicture}[trigLabels=true](-0.5,-1.25)(6.5,1.25)%
- \pnode(5,0){A}%
- \psaxes{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)%
-\end{pspicture}
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)%
- \pnode(5,0){A}%
- \psaxes{->}(0,0)(-.5,-1.25)(\psPiTwo,1.25)
-\end{pspicture}
-\end{lstlisting}
-\end{minipage}
-
-\begin{minipage}{0.4\fullWidth}
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)%
- \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
-\end{pspicture}
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\begin{pspicture}(-0.5,-1.25)(10,1.25)%
- \psaxes[§\ON§trigLabelBase=3§\OFF§]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
-\end{pspicture}
-\end{lstlisting}
-\end{minipage}
-
-
-
-Modifing the ticks to have the last one exactly at the end is possible
-with a different dx value ($\frac{\pi}{3}\approx 1.047$):
-
-
-\begin{minipage}{0.4\fullWidth}
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(\psPiTwo,0){C}%
- \psaxes[dx=\pstRadUnit]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
-\end{pspicture}%
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(\psPiTwo,0){C}%
- \psaxes[§\ON§dx=\pstRadUnit§\OFF§]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
-\end{pspicture}%
-\end{lstlisting}
-\end{minipage}
-
-
-\begin{minipage}{0.4\fullWidth}
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(5,0){B}%
- \psaxes[dx=\pstRadUnit,trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
-\end{pspicture}%
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(5,0){B}%
- \psaxes[dx=\pstRadUnit,§\ON§trigLabelBase=3§\OFF§] {->}(0,0)(-0.5,-1.25)(\psPiTwo,1.25)
-\end{pspicture}%
-\end{lstlisting}
-\end{minipage}
-
-\ncline[linestyle=dashed,linewidth=0.4pt]{A}{B}
-
-Set globaly everything in radiant unit. Now 6 units on the $x$-axis
-are $6\pi$. Using \verb+trigLabelBase=3+ reduces this value to $2\pi$, a.s.o.
-
-\bigskip
-\begin{minipage}{0.4\fullWidth}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(6,0){D}%
- \psaxes{->}(0,0)(-0.5,-1.25)(6.5,1.25)%
-\end{pspicture}%
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\psset{§\ON§xunit=\pstRadUnit§\OFF§}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)\pnode(6,0){D}%
- \psaxes{->}(0,0)(-0.5,-1.25)(6.5,1.25)%
-\end{pspicture}%
-\end{lstlisting}
-\end{minipage}
-\ncline[linestyle=dashed,linewidth=0.4pt]{C}{D}
-
-
-\begin{minipage}{0.4\fullWidth}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
-\end{pspicture}%
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\psset{§\ON§xunit=\pstRadUnit§\OFF§}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[§\ON§trigLabelBase=3§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
-\end{pspicture}%
-\end{lstlisting}
-\end{minipage}
-
-
-
-\begin{minipage}{0.4\fullWidth}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[trigLabelBase=4]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
-\end{pspicture}%
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\psset{§\ON§xunit=\pstRadUnit§\OFF§}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[§\ON§trigLabelBase=4§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
-\end{pspicture}%
-\end{lstlisting}
-\end{minipage}
-
-\begin{minipage}{0.4\fullWidth}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[trigLabelBase=6]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
-\end{pspicture}%
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\psset{§\ON§xunit=\pstRadUnit§\OFF§}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[§\ON§trigLabelBase=6§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
-\end{pspicture}%
-\end{lstlisting}
-\end{minipage}
-
-
-
-The best way seems to be setting the $x$-unit to \verb+\pstRadUnit+. Plotting a
-function doesn't consider the value for \verb+trigLabelBase+, it has to be done by
-the user. The first example sets the unit locally for the \verb+\psplot+
-back to 1cm, which is needed, because we use this unit on PostScript side.
-
-\begin{minipage}{0.4\fullWidth}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
- \psplot[xunit=1cm,linecolor=red,linewidth=1.5pt]{0}{\psPiTwo}{x RadtoDeg sin}
-\end{pspicture}
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
- \psplot[§\ON§xunit=1cm§\OFF§,linecolor=red,linewidth=1.5pt]{0}{§\ON§\psPiTwo§\OFF§}{x RadtoDeg sin}
-\end{pspicture}
-\end{lstlisting}
-\end{minipage}
-
-
-\begin{minipage}{0.4\fullWidth}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
- \psplot[linecolor=red,linewidth=1.5pt]{0}{6}{x Pi 3 div mul RadtoDeg sin}
-\end{pspicture}
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[trigLabelBase=3]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
- \psplot[linecolor=red,linewidth=1.5pt]{0}{6}{x §\ON§Pi 3 div mul §\OFF§RadtoDeg sin}
-\end{pspicture}
-\end{lstlisting}
-\end{minipage}
-
-
-\begin{minipage}{0.4\fullWidth}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[dx=1.5]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
- \psplot[xunit=.5cm,linecolor=red,linewidth=1.5pt]{0}{\psPiFour}{x RadtoDeg sin}
-\end{pspicture}
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[§\ON§dx=1.5§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
- \psplot[§\ON§xunit=0.5cm§\OFF§,linecolor=red,linewidth=1.5pt]{0}{§\ON§\psPiFour§\OFF§}{x RadtoDeg sin}
-\end{pspicture}
-\end{lstlisting}
-\end{minipage}
-
-
-\begin{minipage}{0.4\fullWidth}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[dx=0.75,trigLabelBase=2]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
- \psplot[xunit=.5cm,linecolor=red,linewidth=1.5pt]{0}{\psPiFour}{x RadtoDeg sin}
-\end{pspicture}
-\end{minipage}%
-\begin{minipage}{0.6\fullWidth}
-\begin{lstlisting}
-\psset{xunit=\pstRadUnit}%
-\begin{pspicture}(-0.5,-1.25)(6.5,1.25)
- \psaxes[§\ON§dx=0.75§\OFF§,§\ON§trigLabelBase=2§\OFF§]{->}(0,0)(-0.5,-1.25)(6.5,1.25)
- \psplot[§\ON§xunit=0.5cm§\OFF§,linecolor=red,linewidth=1.5pt]{0}{\psPiFour}{x RadtoDeg sin}
-\end{pspicture}
-\end{lstlisting}
-\end{minipage}
-
-
-It is also possible to set the $x$ unit and $dx$ value to get the labels
-right. But this needs some more understanding how it really works.
-A \verb+xunit=1.570796327+ sets the unit to $\pi/2$ and a \verb+dx=0.666667+
-then puts every $2/3$ of the unit a tick mark and a label. The length of
-the $x$-axis is 6.4 units which is $6.4\cdot 1.570796327cm\approx 10cm$.
-The function then is plotted from $0$ to $3\pi=9.424777961$.
-
-
-
-
-\begin{center}
-\psset{unit=1cm}
-\begin{pspicture}(-0.5,-1.25)(10,1.25)
- \psaxes[xunit=1.570796327,showorigin=false,trigLabelBase=3,dx=0.666667]{->}(0,0)(-0.5,-1.25)(6.4,1.25)
- \psplot[linecolor=red,linewidth=1.5pt]{0}{9.424777961}{%
- x RadtoDeg dup sin exch 1.1 mul cos add}
-\end{pspicture}
-\end{center}
-\begin{lstlisting}
-\begin{pspicture}(-0.5,-1.25)(10,1.25)
- \psaxes[§\ON§xunit=1.570796327§\OFF§,§\ON§trigLabelBase=3§\OFF§,§\ON§dx=0.666667§\OFF§]{->}(0,0)(-0.5,-1.25)(6.4,1.25)
- \psplot[linecolor=red,linewidth=1.5pt]{0}{§\ON§9.424777961§\OFF§}{%
- x RadtoDeg dup sin exch 1.1 mul cos add}
-\end{pspicture}
-\end{lstlisting}
-
-\begin{center}
-\psset{unit=1cm}
-\begin{pspicture}(-0.5,-1.25)(10,1.25)
- \psaxes[xunit=\psPi,dx=0.25]{->}(0,0)(-0.25,-1.25)(3.2,1.25)
- \psplot[xunit=0.25,plotpoints=500,linecolor=red,linewidth=1.5pt]{0}{37.70}{%
- x RadtoDeg dup sin exch 1.1 mul cos add}
-\end{pspicture}
-\end{center}
-\begin{lstlisting}
-\psset{§\ON§unit=1cm§\OFF§}
- \psplot[§\ON§xunit=0.25§\OFF§,§\ON§plotpoints=500§\OFF§,linecolor=red,linewidth=1.5pt]{0}{37.70}{%
- x RadtoDeg dup sin exch 1.1 mul cos add}
-\end{pspicture}
-\end{lstlisting}
-
-
-\begin{center}
-\psset{unit=1cm}
-\begin{pspicture}(-0.5,-2)(10,2)
- \psplot[xunit=0.0625,linecolor=red,linewidth=1.5pt,plotpoints=5000]{0}{150.80}{%
- x RadtoDeg dup sin exch 1.1 mul cos add}
- \psaxes[xunit=\psPi,dx=0.5,Dx=8,subticks=2]{->}(0,0)(-0.1,-2)(3.2,2)
-\end{pspicture}
-\end{center}
-\begin{lstlisting}
-\psset{§\ON§unit=1cm§\OFF§}
-\begin{pspicture}(-0.5,-1.25)(10,1.25)
- \psplot[§\ON§xunit=0.0625§\OFF§,linecolor=red,linewidth=1.5pt,%
- §\ON§plotpoints=5000§\OFF§]{0}{150.80}%
- {x RadtoDeg dup sin exch 1.1 mul cos add}
- \psaxes[§\ON§xunit=\psPi§\OFF§,§\ON§dx=0.5§\OFF§,§\ON§Dx=8§\OFF§]{->}(0,0)(-0.25,-1.25)(3.2,1.25)
-\end{pspicture}
-\end{lstlisting}
-
-
-\begin{center}
-\psset{unit=1cm}
-\begin{pspicture}(-7,-1.5)(7,1.5)
- \psaxes[trigLabels=true,xunit=\psPi]{->}(0,0)(-2.2,-1.5)(2.2,1.5)
- \psplot[linecolor=red,linewidth=1.5pt]{-7}{7}{x RadtoDeg sin}
-\end{pspicture}
-\end{center}
-\begin{lstlisting}
-\begin{pspicture}(-7,-1.5)(7,1.5)
- \psaxes[trigLabels=true,§\ON§xunit=\psPi§\OFF§]{->}(0,0)(-2.2,-1.5)(2.2,1.5)
- \psplot[linecolor=red,linewidth=1.5pt]{-7}{7}{x RadtoDeg sin}
-\end{pspicture}
-\end{lstlisting}
-
-
-\begin{center}
-\psset{unit=1cm}
-\begin{pspicture}(-7,-1.5)(7,1.5)
- \psaxes[trigLabels=true,
- trigLabelBase=2,dx=\psPiH,xunit=\psPi]{->}(0,0)(-2.2,-1.5)(2.2,1.5)
- \psplot[linecolor=red,linewidth=1.5pt]{-7}{7}{x RadtoDeg sin}
-\end{pspicture}
-\end{center}
-\begin{lstlisting}
-\begin{pspicture}(-7,-1.5)(7,1.5)
- \psaxes[trigLabels=true,
- trigLabelBase=2,dx=\psPiH,xunit=\psPi]{->}(0,0)(-2.2,-1.5)(2.2,1.5)
- \psplot[linecolor=red,linewidth=1.5pt]{-7}{7}{x RadtoDeg sin}
-\end{pspicture}
-\end{lstlisting}
-
-
-\psset{trigLabels=false}
-
%------------------------------------------------------------------------------------
@@ -4953,11 +5035,14 @@ both values.
The datafile \verb|data.dat| contains $1000$ data records. The thin blue line is the plot
of all records with the plotstyle option \verb|curve|.
+\resetOptions
\begin{LTXexample}[preset=\centering,pos=t]
\readdata{\data}{data.dat}
-\psset{xunit=0.125mm,yunit=0.0002mm}
-\begin{pspicture}(-80,-30000)(1000,270000)
-\psaxes[Dx=100,dx=100,Dy=50000,dy=50000](1000,250000)
+\psset{xunit=12.5cm,yunit=0.2mm}
+\begin{pspicture}(-0.080,-30)(1,270)
+\pstScalePoints(1,1){1000 div}{1000 div}
+\psaxes[Dx=200,dx=2.5cm,Dy=100,
+ ylabelFactor=\cdot10^3,dy=2cm](0,0)(1,250)
\listplot[nStep=50,linewidth=3pt,linecolor=red,plotstyle=dots]{\data}
\listplot[linewidth=1pt,linecolor=blue]{\data}
\end{pspicture}
@@ -4972,10 +5057,14 @@ of all records with the plotstyle option \verb|curve|.
\begin{LTXexample}[preset=\centering,pos=t]
\readdata{\data}{data.dat}
-\psset{xunit=0.125mm,yunit=0.0002mm}
-\begin{pspicture}(-80,-30000)(1000,270000)
-\psaxes[Dx=100,dx=100,Dy=50000,dy=50000](1000,250000)
-\listplot[nStart=200,linewidth=3pt,linecolor=blue]{\data}
+\psset{xunit=12.5cm,yunit=0.2mm}
+\begin{pspicture}(-0.080,-30)(1,270)
+\pstScalePoints(1,1){1000 div}{1000 div}
+\psaxes[Dx=200,dx=2.5cm,Dy=100,
+ ylabelFactor=\cdot10^3,dy=2cm](0,0)(1,250)
+\listplot[nStart=200,linewidth=3pt,
+ linecolor=blue,plotstyle=dots]{\data}
+\listplot[linewidth=1pt,linecolor=blue]{\data}
\end{pspicture}
\end{LTXexample}
@@ -4986,10 +5075,14 @@ of all records with the plotstyle option \verb|curve|.
\begin{LTXexample}[preset=\centering,pos=t]
\readdata{\data}{data.dat}
-\psset{xunit=0.125mm,yunit=0.0002mm}
-\begin{pspicture}(-80,-30000)(1000,310000)
-\psaxes[axesstyle=frame,Dx=100,dx=100,Dy=50000,dy=50000](1000,300000)
-\listplot[nEnd=800,linewidth=3pt,linecolor=blue]{\data}
+\psset{xunit=12.5cm,yunit=0.2mm}
+\begin{pspicture}(-0.080,-30)(1,270)
+\pstScalePoints(1,1){1000 div}{1000 div}
+\psaxes[axesstyle=frame,Dx=200,dx=2.5cm,Dy=100,
+ ylabelFactor=\cdot10^3,dy=2cm](0,0)(1,250)
+\listplot[nStart=200,linewidth=3pt,
+ linecolor=blue]{\data}
+\listplot[linewidth=1pt,linecolor=blue]{\data}
\end{pspicture}
\end{LTXexample}
@@ -5002,11 +5095,13 @@ of all records with the plotstyle option \verb|curve|.
\begin{LTXexample}[preset=\centering,pos=t]
\readdata{\data}{data.dat}
-\psset{xunit=0.125mm,yunit=0.0002mm}
-\begin{pspicture}(-80,-30000)(1000,310000)
-\psaxes[axesstyle=frame,Dx=100,dx=100,Dy=50000,dy=50000](1000,300000)
-\listplot[nStart=200, nEnd=800, nStep=50,linewidth=3pt,linecolor=blue,%
- plotstyle=dots]{\data}
+\psset{xunit=12.5cm,yunit=0.2mm}
+\begin{pspicture}(-0.080,-30)(1,270)
+\pstScalePoints(1,1){1000 div}{1000 div}
+\psaxes[axesstyle=frame,Dx=200,dx=2.5cm,Dy=100,
+ ylabelFactor=\cdot10^3,dy=2cm](0,0)(1,250)
+\listplot[nStart=200, nEnd=800, nStep=50,
+ linewidth=3pt,linecolor=blue,plotstyle=dots]{\data}
\end{pspicture}
\end{LTXexample}
@@ -5074,7 +5169,6 @@ possible to have a kind of a zoom to the original graphic.
\end{lstlisting}
-\clearpage
\resetOptions
%--------------------------------------------------------------------------------------
@@ -5083,12 +5177,14 @@ possible to have a kind of a zoom to the original graphic.
\begin{LTXexample}[preset=\centering,pos=t]
\readdata{\data}{data.dat}
-\psset{xunit=0.125mm,yunit=0.0002mm}
-\begin{pspicture}(-80,-30000)(1000,310000)
- \psaxes[axesstyle=frame,Dx=100,dx=100,Dy=50000,dy=50000](1000,300000)
+\psset{xunit=12.5cm,yunit=0.2mm}
+\begin{pspicture}(-0.080,-30)(1,270)
+\pstScalePoints(1,1){1000 div}{1000 div}
+\psaxes[axesstyle=frame,Dx=200,dx=2.5cm,Dy=100,
+ ylabelFactor=\cdot10^3,dy=2cm](0,0)(1,250)
\psset{linewidth=0.1pt, linestyle=dashed,linecolor=red}
- \psline(0,40000)(1000,40000)
- \psline(0,175000)(1000,175000)
+ \psline(0,40)(1,40)
+ \psline(0,175)(1,175)
\listplot[yStart=40000, yEnd=175000,linewidth=3pt,linecolor=blue,plotstyle=dots]{\data}
\end{pspicture}
\end{LTXexample}
@@ -5308,7 +5404,7 @@ x sin dup mul x cos dup mul add sqrt
\resetOptions
\psset{plotpoints=200,unit=0.75}
\begin{pspicture}*(-5,-5)(3,3)
- \psaxes[labelsep=.75mm,arrowlength=1.75,ticksize=2pt,%
+ \psaxes[arrowlength=1.75,ticksize=2pt,%
labelFontSize=\footnotesize,%
linewidth=0.17mm]{->}(0,0)(-4.99,-4.99)(3,3)
\rput[Br](3,-.35){$x$}
@@ -5328,7 +5424,7 @@ x sin dup mul x cos dup mul add sqrt
\resetOptions
\psset{plotpoints=200,unit=1}
\begin{pspicture}(-2.5,-2.5)(2.5,2.5)% Ulrich Dirr
- \psaxes[labelsep=.75mm,arrowlength=1.75,%
+ \psaxes[arrowlength=1.75,%
ticksize=2pt,linewidth=0.17mm]{->}(0,0)(-2.5,-2.5)(2.5,2.5)
\rput[Br](2.5,-.35){$x$}
\rput[tr](-.15,2.5){$y$}
@@ -5346,8 +5442,8 @@ x sin dup mul x cos dup mul add sqrt
\begin{LTXexample}[width=8cm]
\psset{plotpoints=200,unit=0.5}
\begin{pspicture}(-8.5,-8.5)(9,9)% Ulrich Dirr
-\psaxes[Dx=2,dx=2,Dy=2,dy=2,labelsep=.75mm,%
- arrowlength=1.75,ticksize=2pt,linewidth=0.17mm]{->}(0,0)(-8.5,-8.5)(9,9)
+\psaxes[Dx=2,dx=2,Dy=2,dy=2,arrowlength=1.75,
+ ticksize=2pt,linewidth=0.17mm]{->}(0,0)(-8.5,-8.5)(9,9)
\rput[Br](9,-.7){$x$}
\rput[tr](-.3,9){$y$}
\rput[Br](-.3,-.7){$0$}
@@ -5401,6 +5497,7 @@ macros. This is the reason why it is a good idea to reset the values at the end
\end{lstlisting}
+\clearpage
%--------------------------------------------------------------------------------------
\part{New commands and environments}
%--------------------------------------------------------------------------------------
@@ -5478,8 +5575,8 @@ In the following example, the y unit gets the same value as the one for the x-ax
\begin{center}
\readdata{\data}{demo1.dat}
-\psset{xAxisLabel=x-Axes,yAxisLabel=y-Axes,llx=-.5cm,ury=0.5cm,
- xAxisLabelPos={3cm,-1cm},yAxisLabelPos={-1.5cm,2.5cm}}
+\psset{xAxisLabel=x-Axis,yAxisLabel=y-Axis,llx=-.5cm,lly=-1cm,lly=-1cm,ury=0.5cm,
+ xAxisLabelPos={c,-1},yAxisLabelPos={-7,c}}
\pstScalePoints(1,0.00000001){}{}
\begin{psgraph}[axesstyle=frame,xticksize=0 7.5,yticksize=0 25,subticksize=1,
ylabelFactor=\cdot 10^8,Dx=5,Dy=1,xsubticks=2](0,0)(25,7.5){5.5cm}{5cm}
@@ -5489,8 +5586,8 @@ In the following example, the y unit gets the same value as the one for the x-ax
\begin{lstlisting}
\readdata{\data}{demo1.dat}
-\psset{§\ON§xAxisLabel§\OFF§=x-Axes,§\ON§yAxisLabel§\OFF§=y-Axes,llx=-.5cm,ury=0.5cm,
- §\ON§xAxisLabelPos§\OFF§={3cm,-1cm},§\ON§yAxisLabelPos§\OFF§={-1.5cm,2.5cm}}
+\psset{§\ON§xAxisLabel§\OFF§=x-Axis,§\ON§yAxisLabel§\OFF§=y-Axis,llx=-.5cm,lly=-1cm,ury=0.5cm,
+ §\ON§xAxisLabelPos§\OFF§={c,-1},§\ON§yAxisLabelPos§\OFF§={-7,c}}
\pstScalePoints(1,0.00000001){}{}
\begin{psgraph}[axesstyle=frame,xticksize=0 7.5,yticksize=0 25,subticksize=1,
§\ON§ylabelFactor§\OFF§=\cdot 10^8,Dx=5,Dy=1,xsubticks=2](0,0)(25,7.5){5.5cm}{5cm}
@@ -5560,7 +5657,7 @@ In the following example, the y unit gets the same value as the one for the x-ax
\readdata{\dataII}{demo3.dat}%
\pstScalePoints(1,1){1989 sub}{}
\psset{llx=-0.5cm,lly=-1cm, xAxisLabel=Year,yAxisLabel=Whatever,%
- xAxisLabelPos={2in,-0.4in},yAxisLabelPos={-0.4in,1in}}
+ xAxisLabelPos={c,-0.4in},yAxisLabelPos={-0.4in,c}}
\psgraph[axesstyle=frame,Dx=2,Ox=1989,subticks=2](0,0)(12,6){4in}{2in}%
\listplot[linecolor=red,linewidth=2pt]{\data}
\listplot[linecolor=blue,linewidth=2pt]{\dataII}
@@ -5573,7 +5670,7 @@ In the following example, the y unit gets the same value as the one for the x-ax
\readdata{\dataII}{demo3.dat}%
\pstScalePoints(1,1){1989 sub}{}
\psset{llx=-0.5cm,lly=-1cm, §\ON§xAxisLabel§\OFF§=Year,§\ON§yAxisLabel§\OFF§=Whatever,%
- §\ON§xAxisLabelPos§\OFF§={2in,-0.4in},§\ON§yAxisLabelPos§\OFF§={-0.4in,1in}}
+ §\ON§xAxisLabelPos§\OFF§={c,-0.4in},§\ON§yAxisLabelPos§\OFF§={-0.4in,c}}
\psgraph[axesstyle=frame,Dx=2,Ox=1989,subticks=2](0,0)(12,6){4in}{2in}%
\listplot[linecolor=red,linewidth=2pt]{\data}
\listplot[linecolor=blue,linewidth=2pt]{\dataII}
@@ -5636,8 +5733,12 @@ ury & 0pt & trim for the upper right y
There is one restriction in using the trim parameters, they must been set
\textbf{before} \verb+psgraph+ is called. They are senseless, when using
-as parameters of \verb+psgraph+ itself.
-
+as parameters of \verb+psgraph+ itself. The \verb+?AxisLabelPos+ oprions can use
+the letter \verb+c+ for centering an x-axis oder y-axis label. The c is a
+replacement for the x or y value. When using values with unit, the position
+is always measured fromn the orogin of the coordinate system, which can be
+outside of the visible \verb+pspicture+ environment
+
\medskip
\resetOptions
@@ -5645,8 +5746,8 @@ as parameters of \verb+psgraph+ itself.
\readdata{\data}{demo2.dat}%
\readdata{\dataII}{demo3.dat}%
\psset{llx=-1cm,lly=-1.25cm,urx=0.5cm,ury=0.1in,xAxisLabel=Year,%
- yAxisLabel=Whatever,xAxisLabelPos={.4\linewidth,-0.4in},%
- yAxisLabelPos={-0.4in,2in}}
+ yAxisLabel=Whatever,xAxisLabelPos={c,-0.4in},%
+ yAxisLabelPos={-0.4in,c}}
\pstScalePoints(1,1){1989 sub}{}
\psframebox[linestyle=dashed,boxsep=0pt]{%
\begin{psgraph}[axesstyle=frame,Ox=1989,subticks=2](0,0)(12,6){0.8\linewidth}{2.5in}%
@@ -5662,8 +5763,8 @@ as parameters of \verb+psgraph+ itself.
\readdata{\data}{demo2.dat}%
\readdata{\dataII}{demo3.dat}%
\psset{llx=-1cm,lly=-1.25cm,urx=0.5cm,ury=0.1in,xAxisLabel=Year,%
- yAxisLabel=Whatever,xAxisLabelPos={.4\linewidth,-0.4in},%
- yAxisLabelPos={-0.4in,2in}}
+ yAxisLabel=Whatever,xAxisLabelPos={c,-0.4in},%
+ yAxisLabelPos={-0.4in,c}}
\pstScalePoints(1,1){1989 sub}{}
\psframebox[linestyle=dashed,boxsep=0pt]{%
\begin{psgraph}[axesstyle=frame,Ox=1989,subticks=2](0,0)(12,6){0.8\linewidth}{2.5in}%
@@ -6102,6 +6203,7 @@ means that the step is constant for a second order polynomials.
\end{lstlisting}
+\clearpage
\subsection{The neperian Logarithm}
A really classical example wich gives a bad beginning, the tolerance is set to $0.001$.
@@ -7342,6 +7444,8 @@ The Stella model representing the Lotka-Volterra model will be slightly more com
\end{pspicture}
\end{lstlisting}
+
+\clearpage
%--------------------------------------------------------------------------------------
\subsubsection{$y''=y$}
%--------------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex b/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex
index b8520590dcf..b4af4db6b5d 100644
--- a/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex
+++ b/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex
@@ -1,4 +1,4 @@
-%% $Id: pstricks-add.tex 24 2008-05-16 18:33:45Z herbert $
+%% $Id: pstricks-add.tex 25 2008-06-06 10:33:45Z herbert $
%%
%%
%% This is file `pstricks-add.tex',
@@ -29,8 +29,8 @@
\ifx\MultidoLoaded\endinput\else \input multido \fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
%
-\def\fileversion{3.04}
-\def\filedate{2008/06/02}
+\def\fileversion{3.05}
+\def\filedate{2008/06/12}
\message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -142,6 +142,13 @@
\global#3=\the\pst@dimm%
\endgroup%
}
+\def\pst@mindim#1#2#3{%
+ \begingroup%
+ \pst@dimm=#1\pst@dimn=#2\relax%
+ \ifdim\pst@dimm>\pst@dimn\pst@dimm=\pst@dimn\fi
+ \global#3=\the\pst@dimm%
+ \endgroup%
+}
\def\pst@abs#1#2{%
\begingroup%
\pst@cntm=#1\relax%
@@ -1029,49 +1036,13 @@
\def\psk@nodeseptypeA{1 }%
\def\psk@nodeseptypeB{1 }%
}
+%
% \psGetNodeCenter defines the PS variable #1.x and #1.y, which can then
% be used by the user. #1 must be a valid node name
-%
\def\psGetNodeCenter#1{ tx@NodeDict begin /N@#1 load GetCenter end % x y on stack in system coor
\pst@number\psyunit div /#1.y ED % /#1.y in user coor
\pst@number\psxunit div /#1.x ED } % /#1.x in user coor
%
-\pst@def{NCLineII}<{
- NCCoor
- /y1 ED /x1 ED x1 y1 ArrowA x1 y1 moveto
- /y2 ED /x2 ED
- /y0 y1 def /x0 x1 def
- /linelength x2 x1 sub y2 y1 sub Pyth def
- \psk@dashNo\space 1.0 lt
- {/cntMax 1.0 \psk@dashNo\space div .49 add cvi def}
- {/cntMax linelength \psk@dashNo\space div .49 add cvi def} ifelse
- x2 x1 sub cntMax div /dx ED
- y2 y1 sub cntMax div /dy ED
- /cnt 0 def
- cntMax {
- gsave
- /x1 x1 dx add def
- /y1 y1 dy add def
- x1 y1
- cnt 2 mod 0 eq
- { \pst@usecolor\psDashColorI }
- { \pst@usecolor\psDashColorII } ifelse
- lineto stroke
- /cnt cnt 1 add def
- grestore
- x1 y1 moveto
- } repeat
- x0 y0 x2 y2 ArrowB L pop pop%
-}>
-%
-\def\nclineII{\pst@object{nclineII}}%
-\def\nclineII@i{\check@arrow{\nclineII@ii}}%
-\def\nclineII@ii#1#2{\nc@object{Open}{#1}{#2}{.5}%
- {\tx@NCLineII /LPutPos { xB yB xA yA \tx@LPutLine } def}%
-}%
-\def\pclineII{\pst@object{pclineII}}%
-\def\pclineII@i{\pc@object\nclineII@ii}%
-%
\define@key[psset]{pstricks-add}{lineAngle}{\psset{armB=0.5}\def\psk@lineAngle{#1}}%
%\psset{lineAngle=0}%
%
@@ -1368,7 +1339,7 @@
\def\pshlabel##1{\psk@labelFontSize##1}%
\def\psvlabel##1{\psk@labelFontSize##1}
\fi}
-\psset{labelFontSize={},mathLabel}
+%\psset{labelFontSize={},mathLabel}
%
\define@boolkey[psset]{pstricks-add}[Pst@]{comma}[true]{}
\define@boolkey[psset]{pstricks-add}[Pst@]{xAxis}[true]{}
@@ -1377,6 +1348,34 @@
\@nameuse{Pst@xAxis#1}\@nameuse{Pst@yAxis#1}}%
%\psset{xyAxes=true}%
%
+\define@key[psset]{pstricks-add}{xlabelPos}{\pst@expandafter\psset@@xlabelPos{#1}\@nil}
+\define@key[psset]{pstricks-add}{ylabelPos}{\pst@expandafter\psset@@ylabelPos{#1}\@nil}
+\def\psset@@xlabelPos#1#2\@nil{%
+ \ifx#1t
+ \def\psk@xlabelPos{\tw@}% 2=top
+ \pst@xticksizeC=\pst@xticksizeB%
+ \else
+ \ifx#1a
+ \def\psk@xlabelPos{\@ne}% 1=axis
+ \pst@xticksizeC=\z@%
+ \else
+ \def\psk@xlabelPos{\z@}% 0=bottom
+ \pst@xticksizeC=\pst@xticksizeA%
+ \fi\fi}%
+\def\psset@@ylabelPos#1#2\@nil{%
+ \ifx#1r
+ \def\psk@ylabelPos{\tw@}% 2=right
+ \pst@yticksizeC=\pst@yticksizeB%
+ \else
+ \ifx#1a
+ \def\psk@ylabelPos{\@ne}% 1=axis
+ \pst@yticksizeC=\z@%
+ \else
+ \def\psk@ylabelPos{\z@}% 0=left
+ \pst@yticksizeC=\pst@yticksizeA%
+ \fi\fi}
+%\psset{xlabelPos=b, ylabelPos=l}%
+%
\define@key[psset]{pstricks-add}{xyDecimals}{\def\psk@xDecimals{#1}\def\psk@yDecimals{#1}}
\define@key[psset]{pstricks-add}{xDecimals}{\def\psk@xDecimals{#1}}
\define@key[psset]{pstricks-add}{yDecimals}{\def\psk@yDecimals{#1}}
@@ -1401,27 +1400,54 @@
\pst@mod{\pst@cntm}{\de@nominator}\pst@cntp % cntb=##1 modulo trigLabelBase
\ifnum\@ne>\pst@cntp % 1 > modulo -> then we have pi/x
\pst@cnto=\pst@cntm \divide\pst@cnto by \de@nominator
- \psk@labelFontSize
- \ifnum\pst@tempA<0 $-$\fi%
- \ifnum\pst@cnto=\@ne % #1 = trigLabelBase
- $\pi$ % print pi
- \else
- $\the\pst@cnto\pi$ % print \pst@cnto/\de@nominator pi
- \fi
+ \ifPst@mathLabel
+ $\psk@labelFontSize
+ \ifnum\pst@tempA<0 -\fi%
+ \ifnum\pst@cnto=\@ne % #1 = trigLabelBase
+ \pi % print pi
+ \else
+ \the\pst@cnto\pi % print \pst@cnto/\de@nominator pi
+ \fi$
+ \else
+ \psk@labelFontSize
+ \ifnum\pst@tempA<0 -\fi%
+ \ifnum\pst@cnto=\@ne % #1 = trigLabelBase
+ $\pi$ % print pi
+ \else
+ \the\pst@cnto$\pi$ % print \pst@cnto/\de@nominator pi
+ \fi
+ \fi
\else
- \psk@labelFontSize
- \ifnum\pst@cntp=\@ne % < 1 pi?
- \if\pst@cntm=\@ne
- $\frac{\pi}{\de@nominator}$ % pi/x
- \else\ifnum\pst@tempA=-1 $\frac{-\pi}{\de@nominator}$
- \else \ifnum\pst@tempA=1 $\frac{\pi}{\de@nominator}$
- \else$\frac{\pst@tempA\pi}{\de@nominator}$ % (x pi)/y
+ \ifPst@mathLabel
+ $\psk@labelFontSize
+ \ifnum\pst@cntp=\@ne % < 1 pi?
+ \if\pst@cntm=\@ne
+ \frac{\pi}{\de@nominator} % pi/x
+ \else\ifnum\pst@tempA=-1 \frac{-\pi}{\de@nominator}
+ \else \ifnum\pst@tempA=1 \frac{\pi}{\de@nominator}
+ \else\frac{\pst@tempA\pi}{\de@nominator} % (x pi)/y
+ \fi\fi\fi
+ \else
+ \ifnum\pst@tempA=1 \frac{\pi}{\de@nominator}
+ \else\ifnum\pst@tempA=\de@nominator \pi
+ \else\frac{\pst@tempA\pi}{\de@nominator}
+ \fi\fi\fi$
+ \else
+ \psk@labelFontSize
+ \ifnum\pst@cntp=\@ne % < 1 pi?
+ \if\pst@cntm=\@ne
+ $\frac{\pi}{\de@nominator}$ % pi/x
+ \else\ifnum\pst@tempA=-1 $\frac{-\pi}{\de@nominator}$
+ \else \ifnum\pst@tempA=1 $\frac{\pi}{\de@nominator}$
+ \else$\frac{\pst@tempA\pi}{\de@nominator}$ % (x pi)/y
+ \fi\fi\fi
+ \else
+ \ifnum\pst@tempA=1 $\frac{\pi}{\de@nominator}$
+ \else\ifnum\pst@tempA=\de@nominator $\pi$
+ \else$\frac{\pst@tempA\pi}{\de@nominator}$
\fi\fi\fi
- \else
- \ifnum\pst@tempA=1 $\frac{\pi}{\de@nominator}$
- \else\ifnum\pst@tempA=\de@nominator $\pi$
- \else$\frac{\pst@tempA\pi}{\de@nominator}$
- \fi\fi\fi\fi%
+ \fi
+ \fi%
}%
\else
\def\pst@@@hlabel##1{%
@@ -1435,7 +1461,7 @@
\fi%
}
\ifPst@mathLabel
- \def\pshlabel##1{\psk@labelFontSize$##1$}\else
+ \def\pshlabel##1{$\psk@labelFontSize##1$}\else
\def\pshlabel##1{\psk@labelFontSize##1}%
\fi
\fi
@@ -1554,11 +1580,6 @@
\let\psk@arrowB\@empty%
\psxs@axes%
}
-%\def\psxs@axes{%
-% \psxs@@axes\pst@dima\pst@dimc{}%
-% \psxs@@axes\pst@dimb\pst@dimd{exch}%
-%}
-
%
\def\psxs@axes{{%
\ifPst@xAxis\psxs@@axes\pst@dima\pst@dimb\pst@dimc\pst@dimd{}\fi%
@@ -1570,7 +1591,7 @@
\def\psaxes@iii(#1)(#2){\@ifnextchar({\psaxes@iv(#1)(#2)}{\psaxes@iv(#1)(#1)(#2)}}
\def\psaxes@iv(#1)(#2)(#3){\@ifnextchar[{\psaxes@v(#1)(#2)(#3)}{\psaxes@vii(#1)(#2)(#3)}}%
\def\psaxes@v(#1)(#2)(#3)[#4]{\@ifnextchar[{\psaxes@vi(#1)(#2)(#3)[#4]}{\psaxes@vi(#1)(#2)(#3)[#4][]}}%
-\def\psaxes@v(#1)(#2)(#3)[#4,#5][#6,#7]{%
+\def\psaxes@vi(#1)(#2)(#3)[#4,#5][#6,#7]{%
\psaxes@vii(#1)(#2)(#3)%
\uput[#5](#3|0,0){#4}\uput[#7](0,0|#3){#6}%
}
@@ -1578,12 +1599,16 @@
\def\psaxes@vii(#1,#2)(#3,#4)(#5,#6){%
\pst@killglue%
\begingroup%
+ \pssetxlength\pst@dimc{#5}% ur-x
+ \pssetylength\pst@dimd{#6}% ur-y
+ \ifdim\pst@dimc<\z@ \ifdim\pst@dimd<\z@ % axes show to left and down
+ \addbefore@par{xlabelPos=top,ylabelPos=right}\fi\fi
\setbox\pst@hbox=\hbox\bgroup%
- \use@par%
+ \use@par% now the same with an optional unit=... in par
\pssetxlength\pst@dimg{#1}% o-x
\pssetylength\pst@dimh{#2}% o-y
- \pssetxlength\pst@dima{#3}% bl-x
- \pssetylength\pst@dimb{#4}% bl-y
+ \pssetxlength\pst@dima{#3}% ll-x
+ \pssetylength\pst@dimb{#4}% ll-y
\pssetxlength\pst@dimc{#5}% ur-x
\pssetylength\pst@dimd{#6}% ur-y
% If minimum values are negative in log mode, we modify Ox
@@ -1591,8 +1616,8 @@
% X axis labels (\psk@log = 0 or 1)
%
% Whole thing will be translated to origin:
- \advance\pst@dima-\pst@dimg% Dist. from bl-x to o-x
- \advance\pst@dimb-\pst@dimh% Dist. from bl-y to o-y
+ \advance\pst@dima-\pst@dimg% Dist. from ll-x to o-x
+ \advance\pst@dimb-\pst@dimh% Dist. from ll-y to o-y
\advance\pst@dimc-\pst@dimg% Dist. from ur-x to o-x
\advance\pst@dimd-\pst@dimh% Dist. from ur-y to o-y
% Make lines/arrows or frame:
@@ -1602,12 +1627,8 @@
\ifdim\pst@dima=\z@\else\showoriginfalse\fi%
\ifnum\psk@dy=\z@%
\pst@dimg=\psk@Dy\psyunit%
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): \textbackslash pst@dimg=\the\pst@dimg}\fi % v.1.21
- \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dy \edef\psk@Dy{-\the\pst@cnta} % v.1.21
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): Dy -> -Dy (was negative)}\fi % v.1.21
- \fi % v.1.21
+ \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dy \edef\psk@Dy{-\the\pst@cnta}\fi % v.1.21
\edef\psk@dy{\number\pst@dimg}%
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): \textbackslash psk@dy=\psk@dy}\fi % v.1.21
\fi%
\ifPst@xAxis\else\showorigintrue\fi%
\pst@vlabels{\pst@dimd}{\psk@arrowB}{#3}{#5}%
@@ -1620,12 +1641,9 @@
\ifdim\pst@dimb=\z@\else\showoriginfalse\fi%
\ifnum\psk@dx=\z@%
\pst@dimg=\psk@Dx\psxunit%
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): \textbackslash pst@dimg=\the\pst@dimg}\fi % v.1.21
\ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dx \edef\psk@Dx{-\the\pst@cnta} % v.1.21
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): Dx -> -Dx (was negative)}\fi % v.1.21
\fi % v.1.21
\edef\psk@dx{\number\pst@dimg}%
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): \textbackslash psk@dx=\psk@dx}\fi % v.1.21
\fi%
\ifPst@yAxis\else\showorigintrue\fi%
\pst@hlabels{\pst@dimc}{\psk@arrowB}{#4}{#6}%
@@ -1651,31 +1669,35 @@
\newdimen\pst@yticksizeC
%
\def\set@xticksize#1{%
- \pst@expandafter\pst@getydimdim{#1} {} {}\@nil % y-unit!!
- \pst@xticksizeA=\the\pst@dimm%
- \pst@xticksizeB=\the\pst@dimn%
+ \pst@expandafter\pst@getydimdim{#1} {} {}\@nil % y-unit!!
+ \ifdim\pst@dimm>\pst@dimn % first > second value
+ \pst@xticksizeA=\the\pst@dimn%
+ \pst@xticksizeB=\the\pst@dimm%
+ \else
+ \pst@xticksizeA=\the\pst@dimm%
+ \pst@xticksizeB=\the\pst@dimn% first > second value
+ \fi
\edef\psk@xticksize{\pst@number\pst@xticksizeA \pst@number\pst@xticksizeB}%
- \ifdim\pst@dimm=\z@\relax
- \pst@xticksizeC=\z@
- \else%
- \pst@absdim{\pst@xticksizeA}\pst@dimm%
- \pst@absdim{\pst@xticksizeB}\pst@dimn%
- \pst@maxdim{\pst@dimm}{\pst@dimn}\pst@dimo%
- \pst@xticksizeC=\pst@dimo%
+ \ifnum\psk@xlabelPos<\z@ % top
+ \pst@xticksizeC=\pst@dimn
+ \else
+ \pst@xticksizeC=\pst@dimm% bottom
\fi%
}
\def\set@yticksize#1{%
\pst@expandafter\pst@getxdimdim{#1} {} {}\@nil % x-unit!
- \pst@yticksizeA=\the\pst@dimm%
- \pst@yticksizeB=\the\pst@dimn%
+ \ifdim\pst@dimm>\pst@dimn % first > second value
+ \pst@yticksizeA=\the\pst@dimn%
+ \pst@yticksizeB=\the\pst@dimm%
+ \else
+ \pst@yticksizeA=\the\pst@dimm%
+ \pst@yticksizeB=\the\pst@dimn% first > second value
+ \fi
\edef\psk@yticksize{\pst@number\pst@yticksizeA \pst@number\pst@yticksizeB}%
- \ifdim\pst@dimm=\z@\relax
- \pst@yticksizeC=\z@
- \else%
- \pst@absdim{\pst@yticksizeA}\pst@dimm%
- \pst@absdim{\pst@yticksizeB}\pst@dimn%
- \pst@maxdim{\pst@dimm}{\pst@dimn}\pst@dimo%
- \pst@yticksizeC=\pst@dimo%
+ \ifnum\psk@ylabelPos<\z@ % right
+ \pst@yticksizeC=\pst@dimn
+ \else
+ \pst@yticksizeC=\pst@dimo% left
\fi%
}
\define@key[psset]{}{ticksize}{\set@xticksize{#1}\set@yticksize{#1}}
@@ -1698,24 +1720,6 @@
\@pstrickserr{Bad tick style: `#1#2'}\@ehpa
\fi\fi\fi
}
-
-\iffalse
-\define@key[psset]{}{tickstyle}{%
- \pst@expandafter\psset@@tickstyle{#1}\@nil%
- \pst@cnta=\psk@tickstyle
- \advance\pst@cnta by \@ne
- \ifcase\pst@cnta% bottom
- \pst@xticksizeB=\z@
- \pst@yticksizeB=\z@
- \or% full
- \or% top
- \pst@xticksizeA=\z@
- \pst@yticksizeA=\z@
- \fi
-}
-\fi
-%\psset{tickstyle=full}%
-%
%
\define@key[psset]{pstricks-add}{subticks}{\def\psk@xsubticks{#1}\def\psk@ysubticks{#1}}
\define@key[psset]{pstricks-add}{xsubticks}{\def\psk@xsubticks{#1}}
@@ -2000,20 +2004,22 @@
}
% Knows \pst@dimb and \pst@cnta
\def\pst@@hlabels{%
- \pst@dimm=\pst@xticksizeC\advance\pst@dimm by \pslabelsep%
+ \psDEBUG[pst@@hlabels]{xticksizeC=\the\pst@xticksizeC}%
\vbox to\z@{%
- \ifdim\pst@dimd>\z@\vskip\pst@dimm\else\vss\fi%
- \ifnum\pst@cnta<\z@\pst@dimb=-\pst@dimb\fi%
+ \ifcase\psk@xlabelPos
+ \vskip-\pst@xticksizeA\vskip\pslabelsep\or
+ \vskip-1ex\or%
+ \vskip-\pst@xticksizeB\vskip-\pslabelsep\vskip-1ex%
+ \fi%
\hbox to\z@{%
+ \ifnum\pst@cnta<\z@\pst@dimb=-\pst@dimb\fi%
\ifshoworigin\hbox to \z@{\hss\pst@@@hlabel{\psk@Ox}\hss}\fi%
\mmultido{\nA=\psk@Ox+\psk@Dx}{\pst@cnta}{%
\hskip\pst@dimb\hbox to \z@{\hss%
\ifdim\nA pt=\z@ \pst@@@hlabel{0}\else\expandafter\pst@@@hlabel{\nA}\fi% prevent -0, doesn't work with \ifnum
-% \ifnum\nA=0 \pst@@@hlabel{0}\else\expandafter\pst@@@hlabel{\nA}\fi
\hss}%
}\hss%
- }%
- \ifdim\pst@dimd>\z@\vss\else\vskip\pst@dimm\fi%
+ }
}}%
% #1:Max/Min in pt from origin; #2:arrow; #3:min; #4:max
@@ -2034,33 +2040,32 @@
% \pst@dima: the width between two labels in pt
% \pst@dimc: the coordinate of the origin in pt
% \pst@cnta: the lowest label
+% \pst@ticksizeC the lowest or highest value
\def\pst@@vlabels{%
- \pst@dimm=\pst@yticksizeC%
- \advance\pst@dimm by \pslabelsep%
+ \psDEBUG[pst@@vlabels]{yticksizeC=\the\pst@yticksizeC}%
+% for left labels we use \def\llap#1{\hb@xt@\z@{\hss#1}}
\vbox to\z@{%
- \ifnum\pst@cnta>\z@\pst@dima=-\pst@dima\fi%
+ \ifnum\pst@cnta>\z@ \pst@dima=-\pst@dima\fi% up or down label positions
\offinterlineskip%
- \ifshoworigin
+ \ifshoworigin%
\vbox to \z@{\vss\hbox to\z@{%
- \ifdim\pst@dimc>\z@\hss\else\hskip\pst@dimm\fi
- \pst@@@vlabel{\psk@Oy}%
- \ifdim\pst@dimc>\z@\hskip\pst@dimm\else\hss\fi}\vss}%
+ \ifcase\psk@ylabelPos
+ \hss\pst@@@vlabel{\psk@Oy}\hskip\pslabelsep\hskip-\pst@yticksizeA\or
+ \hskip\pslabelsep\hss\pst@@@vlabel{\psk@Oy}\hss\or % right labels
+ \hskip\pst@yticksizeB\hskip\pslabelsep\pst@@@vlabel{\psk@Oy}%
+ \fi}\vss}%
\fi%
\mmultido{\nA=\psk@Oy+\psk@Dy}{\pst@cnta}{%
- \vbox to\pst@dima{\vss}
+ \vbox to\pst@dima{\vss}%
\vbox to \z@{%
\vss\hbox to\z@{%
- \ifdim\pst@dimc>\z@%
- \hss\pst@@@vlabel{\nA}\hskip\pst@dimm%
- \else%
- \hskip\pst@dimm%\ifnum\nA=0 \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi
- \ifdim\nA pt=\z@ \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi% prevent -0, doesn't work with \ifnum
- \hss%
- \fi
- }\vss%
- }}%
- \vss%
-}}
+ \ifcase\psk@ylabelPos% and also check for -0
+ \hss\ifdim\nA pt=\z@ \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi\hskip\pslabelsep\hskip-\pst@yticksizeA\or
+ \hskip\pslabelsep\hss\ifdim\nA pt=\z@ \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi\hss\or % right labels
+ \hskip\pst@yticksizeB\hskip\pslabelsep\ifdim\nA pt=\z@ \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi%
+ \fi}\vss}
+ }\vss}%
+}
%
\define@key[psset]{pstricks-add}{nStep}{\def\psk@nStep{#1}}
\define@key[psset]{pstricks-add}{nStart}{\def\psk@nStart{#1}}
@@ -2184,8 +2189,19 @@
\define@key[psset]{pstricks-add}{xAxisLabel}{\def\psk@xAxisLabel{#1}}
\define@key[psset]{pstricks-add}{yAxisLabel}{\def\psk@yAxisLabel{#1}}
%\psset{xAxisLabel=x,yAxisLabel=y}
+\iffalse
+\define@key[psset]{pstricks-add}{xAxisLabelPos}{%
+ \def\pst@tempA{#1}%
+ \ifx\pst@tempA\@empty\let\psk@xAxisLabelPos\relax\else
+ \pst@getcoor{#1}\psk@xAxisLabelPos\fi}
+\define@key[psset]{pstricks-add}{yAxisLabelPos}{%
+ \def\pst@tempA{#1}%
+ \ifx\pst@tempA\@empty\let\psk@yAxisLabelPos\relax\else
+ \pst@getcoor{#1}\psk@yAxisLabelPos\fi}
+\fi
\define@key[psset]{pstricks-add}{xAxisLabelPos}{\def\psk@xAxisLabelPos{#1}}
\define@key[psset]{pstricks-add}{yAxisLabelPos}{\def\psk@yAxisLabelPos{#1}}
+
%\psset{yAxisLabelPos={},xAxisLabelPos={}}
%
\newdimen\psk@llx
@@ -2231,7 +2247,7 @@
\use@par%
\psaxes(#1,#2)(#3,#4)%
\egroup%
- \psgraph@vi(#1,#2)(#3,#4)%
+ \psgraph@vi(#1,#2)(#1,#2)(#3,#4)%
}
\def\psgraph@v(#1,#2)(#3,#4)(#5,#6)#7#8{% with special origin
% Xorig | yorig | minX | minY | maxX | maxY | Length x-axis | length y-axis%
@@ -2256,18 +2272,34 @@
\use@par%
\psaxes(#1,#2)(#3,#4)(#5,#6)%
\egroup%
- \psgraph@vi(#1,#2)(#5,#6)%
+ \psgraph@vi(#1,#2)(#3,#4)(#5,#6)%
}
-\def\psgraph@vi(#1,#2)(#3,#4){%
+%
+\def\setxLabelC@@r#1,#2(#3,#4){%
+ \ifx#1c
+ \pssetylength\pst@dimm{#2}
+ \rput(! #4 #3 add 2 div \pst@number\pst@dimm \pst@number\psyunit div ){\psk@xAxisLabel}
+ \else
+ \pst@getcoor{\psk@xAxisLabelPos}\pst@tempA
+ \rput(! \pst@tempA\space \tx@UserCoor ){\psk@xAxisLabel}
+ \fi}
+\def\setyLabelC@@r#1,#2(#3,#4){%
+ \ifx#2c
+ \pssetxlength\pst@dimm{#1}
+ \rput{90}(! \pst@number\pst@dimm \pst@number\psxunit div #4 #3 add 2 div ){\psk@yAxisLabel}
+ \else
+ \pst@getcoor{\psk@yAxisLabelPos}\pst@tempA
+ \rput{90}(! \pst@tempA\space \tx@UserCoor ){\psk@yAxisLabel}
+ \fi}
+%
+\def\psgraph@vi(#1,#2)(#3,#4)(#5,#6){%
\ifx\psk@xAxisLabel\@empty\else%
- \ifx\psk@xAxisLabelPos\@empty\uput[0](#3,#2){\psk@xAxisLabel}%
- \else\rput(\psk@xAxisLabelPos){\psk@xAxisLabel}%
- \fi%
+ \ifx\psk@xAxisLabelPos\@empty \uput[0](#5,#2){\psk@xAxisLabel}%
+ \else \expandafter\setxLabelC@@r\psk@xAxisLabelPos(#3,#5)\fi%
\fi%
\ifx\psk@yAxisLabel\@empty\else%
- \ifx\psk@yAxisLabelPos\@empty\uput[90](#1,#4){\psk@yAxisLabel}%
- \else\rput{90}(\psk@yAxisLabelPos){\psk@yAxisLabel}%
- \fi%
+ \ifx\psk@yAxisLabelPos\@empty \uput[90](#1,#6){\psk@yAxisLabel}%
+ \else \expandafter\setyLabelC@@r\psk@yAxisLabelPos(#4,#6)\fi%
\fi%
\ignorespaces%
}
@@ -3225,9 +3257,11 @@
arrowLW=0,
dashNo=0.2,linecap=0,
xyAxes=true,
+ xlabelPos=bottom, ylabelPos=left,
trigLabels=false,trigLabelBase=0,
xDecimals={},yDecimals={},
xlogBase={},ylogBase={},
+ labelFontSize={},mathLabel,
logLines=none,
ignoreLines=0,
nStep=1,nStart=0,nEnd={},
@@ -3239,7 +3273,7 @@
randomPoints=1000,color=false,
method={},whichabs={},whichord={},
plotfuncx={},plotfuncy={},buildvector=false,
-% algebraic=false, % indivisuelly set
+% algebraic=false, % individuelly set
Derive={},adamsorder=4,
VarStep=false, PlotDerivative=none, VarStepEpsilon=default,
varsteptol=.001,