TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to plot some points in a graph; just a simple list of x and y values and then connect them with line segments. Currently, I am graphing it in excel and importing the image into latex and it doesn't look good. Is there any way to plot coordinates just using latex?

share|improve this question
1  
There's pgfplots – clemens 12 hours ago
1  
Or you can use PSTricks. For my opinion is very easy to utilize. – Sebastiano 12 hours ago
    
It depends on: if you prefer the classical LaTeX and compile a DVI-file, PStricks is suited better. If you prefer the modern way and run pdfLaTeX or similar compilers, I advise to use TikZ and PGF. PSTricks is based on PostScript, which works well with DVI, but not with PDF. On the other hand, TikZ and PGF work well with PDF but not DVI and PostScript. If you are an absolute beginner, you won't care, if you have to learn the one or the other from scratch. Therefore, my suggestion would be to learn pgfplots. – Jan 12 hours ago
up vote 8 down vote accepted

Data points can be directly entered using the data command from the datavisualization library. The same applies if you have the function instead of the data points. Here are some examples adapted from the TikZ-PGF manual:

\documentclass[border=2mm,tikz]{standalone}
\usetikzlibrary{datavisualization}
\begin{document}

\begin{tikzpicture}
\datavisualization [school book axes, visualize as smooth line]
    data {
       x, y
    -1.5, 2.25
      -1, 1
     -.5, .25
       0, 0
      .5, .25
       1, 1
     1.5, 2.25
    };
\end{tikzpicture}

\end{document}

enter image description here

Changing the axes style to scientific, e.g., can give a different look:

\datavisualization [scientific axes, all axes={grid}, visualize as smooth line]

enter image description here

Also, if you have the function at hand, this can be quite easy:

\documentclass[border=2mm,tikz]{standalone}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}

\begin{tikzpicture}
  \datavisualization [school book axes, visualize as smooth line]
    data [format=function] {
      var x : interval [-1.5:1.5] samples 7;
      func y = \value x*\value x;
    };
\end{tikzpicture}

\end{document}

with the same result as the data points entry:

enter image description here

share|improve this answer

Here is an example using pgfplots. The data can also be read from a csv file or can be computed using formulas.

enter image description here

\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{axis}
    \addplot coordinates {
      (1,  1)
      (2,  4)
      (3,  9)
      (4, 16)
      (5, 25)
    };
  \end{axis}
\end{tikzpicture}
\end{document}
share|improve this answer

Here a MWE with PSTricks.

enter image description here

\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-plot}
\usepackage{pst-eucl}

\psset{algebraic,arrows=->}
\def\f{x^2}

\begin{document}
\begin{pspicture}(-5,-3)(5,5)
    \psaxes[linewidth=.5pt,linecolor=darkgray](0,0)(-4,-1)(3,4)[$x$,0][$y$,90]
    \psplot[linecolor=magenta]{-5}{5}{\f}
    \pstGeonode[PosAngle=-30,PointNameSep=15pt,PointName={{\scriptstyle(0,.5)},{\scriptstyle(1,f(2))}}]
            (0,0.5){F}(*1 {\f(x)}){A}
    \end{pspicture}
\end{document}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.