\documentclass[a4paper]{article}
\usepackage{pst-plot}
\pagestyle{empty}
\begin{document}

\SpecialCoor% importanmt for all examples
\begin{pspicture}(-6,-6)(6,6)
  \psaxes{<->}(0,0)(-6,-6)(6,6)
  \psset{arrows=->}
  \multido{\ia=-5+1}{11}{%
    \multido{\ib=-5+1}{11}{%
      \pstVerb{/x \ia\space def
               /y \ib\space def
               y 0 eq
                 {/ValueTempA 0 def
                  /ValueTempB 0.5 def}
                 {/ValueTempZ 2 1 x x mul y y mul div add sqrt mul def
                  /ValueTempA 1 ValueTempZ div def
                  /ValueTempB x y ValueTempZ mul div def}
                 ifelse}
      \psline(! x ValueTempA sub y ValueTempB sub)
             (! x ValueTempA add y ValueTempB add)}}
\end{pspicture}

\begin{pspicture}(-6,-6)(6,6)
  \psaxes{<->}(0,0)(-6,-6)(6,6)
  \psset{arrows=->}
  \multido{\ia=-5+1}{11}{%
    \multido{\ib=-5+1}{11}{%
      \pstVerb{/x \ia\space def
               /y \ib\space def
               y 0 eq
                 {/ValueTempA 0 def
                  /ValueTempB 0.5 def}
                 {/ValueTempZ 2 1 x x mul y y mul div add sqrt mul def
                  /ValueTempA 1 ValueTempZ div def
                  /ValueTempB x neg y ValueTempZ mul div def}
                 ifelse}
      \psline(! x ValueTempA sub y ValueTempB sub)
             (! x ValueTempA add y ValueTempB add)}}
\end{pspicture}

% From Michael Sharpe

\def\transl#1#2{%
#1\space 72 2.54 div mul #2\space 72 2.54 div mul translate 0 0 moveto}

\newif\ifnotbothz
\begin{pspicture}(-6,-6)(6,6)
  \psaxes{<->}(0,0)(-6,-6)(6,6)
  \multido{\n=-5+1}{11}{%
    \multido{\N=-5+1}{11}{%
      \notbothztrue
      \ifnum\N=0
        \ifnum\n=0
          \notbothzfalse
        \fi
      \fi
      \ifnotbothz
        \psdot(0,0)
        \pstverb{\transl{\n}{\N}\space
                 %next line gives a direction vector (y=\n,x=\N)
                 \n\space \N\space
                 atan rotate -9 0 moveto 18 0 rlineto stroke}
      \fi}}
\end{pspicture}

\begin{pspicture}(-6,-6)(6,6)
  \psaxes{<->}(0,0)(-6,-6)(6,6)
  \multido{\n=-5+1}{11}{%
    \multido{\N=-5+1}{11}{%
      \notbothztrue
      \ifnum\N=0
        \ifnum\n=0
          \notbothzfalse
        \fi
      \fi
      \ifnotbothz
        \psdot(0,0)
        \pstverb{\transl{\n}{\N}\space
                 %next line gives a direction vector (y=-\n,x=\N)
                 \n\space neg \N\space
                 atan rotate -9 0 moveto 18 0 rlineto stroke}
      \fi}}
\end{pspicture}

\clearpage
Another solution for a vector field:



\def\drawseg#1#2{%
\pscustom{%
  \translate(#1,#2)
  \rotate{(\dirseg{#1}{#2})}    % Vector in direction of field at x=#1,y=#2
\psline(-.25,0)(.25,0)}}
\def\dirseg#1#2{-#2,#1}         % Default direction field ($y'=-x/y$)


\begin{pspicture}(-6,-6)(6,6)
  \psaxes{<->}(0,0)(-6,-6)(6,6)
  \multido{\n=-5+1}{11}{%
    \multido{\N=-5+1}{11}{%
      \ifnum\N=0
        \ifnum\n=0
        \else
          \drawseg{\n}{\N}
        \fi
      \else
        \drawseg{\n}{\N}
      \fi}}
\end{pspicture}

\def\dirseg#1#2{#2,#1}          % Direction field example ($y'=x/y$)
\begin{pspicture}(-6,-6)(6,6)
  \psaxes{<->}(0,0)(-6,-6)(6,6)
  \psset{arrows=->}
  \multido{\n=-5+1}{11}{%
    \multido{\N=-5+1}{11}{%
      \ifnum\N=0
        \ifnum\n=0
        \else
          \drawseg{\n}{\N}
        \fi
      \else
        \drawseg{\n}{\N}
      \fi}}
\end{pspicture}

\end{document}
