# [pstricks] Automate a line drawing routine

Herbert Voss Herbert.Voss at FU-Berlin.DE
Tue Dec 30 09:27:49 CET 2008

David Arnold schrieb:

> I'd like to produce some line graphs, such as:
>
> http://www.kutasoftware.com/FreeWorksheets/Slope%20From%20a%20Graph.pdf
>
> Now, I can produce these one at a time, not much problem, but I'd
> like to automate the task a bit:
>
> 1. I like the domain to be [-5,5], and the range [-5,5]. I'd like the
> x-axis labeled -5 and 5 at each end, same for the y-axis. I'd like
> the x- and y-axes labeled at the right and top ends with "x" and "y",
> respectively.
>
> 2. The user can easily choose two points P and Q on the grid.
>
> 3. The code automatically determines the equation of the line through
> P and Q (no horizontal or vertical allowed) and then clips it to the
> domain and range in item #1. The line should be drawn with arrowheads
> at each end of the line.

\documentclass[dvips]{article}
\begin{document}

\psset{arrows=<->,dotscale=1.5,arrowscale=2,unit=.5cm}
\begin{pspicture}(-5.5,-5.5)(6,6)
\def\labelFontSize{\scriptscripstyle}
\psgrid[gridcolor=lightgray,gridlabels=0pt,
subgriddiv=1](0,0)(-5,-5)(5,5)
\psaxes[Dx=5,Dy=5,showorigin=false](0,0)(-5.5,-5.5)(5.5,5.5)[$x$,0][$y$,90]
\psIntersectionPoint(-1,-3)(2,4)(-5,5)(5,5){P0}
\psdot[linecolor=blue](-1,-3)
\psIntersectionPoint(-1,-3)(2,4)(-5,-5)(5,-5){P1}
\psdot[linecolor=blue](2,4)
\psline(P0)(P1)
\end{pspicture}

\end{document}

Herbert