Saltar al contenido

Gráficos de líneas con pgfplots

Añade un \addplot por línea dentro de un axis; da estilo a cada una con opciones como red, dashed, thick o mark=square*, o deja que la lista cíclica elija un estilo por ti.

Varias líneas en un mismo eje

Cada \addplot añade una serie. Sin opciones, las series toman su estilo de la lista cíclica por turnos. Con \addplot+[...] mantienes ese estilo y cambias una parte de él.

Tres series de la lista cíclica predeterminada

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[xlabel=Week, ylabel=Orders, legend pos=north west]
    \addplot coordinates {(1,12) (2,18) (3,25) (4,31) (5,44)};
    \addplot coordinates {(1,10) (2,14) (3,15) (4,21) (5,24)};
    \addplot+[dashed] coordinates {(1,5) (2,9) (3,8) (4,12) (5,13)};
    \legend{Erika, Hans, John}
  \end{axis}
\end{tikzpicture}
Compuesto por Scissor LaTeX: Tres series de la lista cíclica predeterminada

Estilos de línea y marcas

Las opciones tras \addplot fijan el color, la línea y las marcas. Puedes combinarlas libremente.

OpciónValoresEn Scissor LaTeX
colorred, blue!60!black, color=teal, cualquier nombre o mezcla de xcolorFunciona
grosor de líneaultra thin, very thin, thin, semithick, thick, very thick, ultra thick, line width=1.5ptFunciona
patrón de trazossolid, dashed, dotted, densely dashed, loosely dotted, dashdotted, dash pattern=on 4pt off 2ptFunciona
mark=*, o, square*, square, triangle*, triangle, diamond*, diamond, x, +, star, pentagon*, asterisk, otimes*, |, -, noneFunciona
mark size=3ptradio de la marcaFunciona
mark options={fill=white}estilo solo de las marcasFunciona
mark repeat=2una marca cada dos puntosFunciona
no marks, only markssolo líneas, solo marcasFunciona

Colores, patrones de trazos y marcas

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[domain=0:4, samples=9, legend pos=outer north east]
    \addplot[blue, thick, mark=*] {x};
    \addplot[red, dashed, mark=square*, mark options={fill=white}] {x^1.5/2};
    \addplot[teal, densely dotted, very thick] {sqrt(x)};
    \addplot[orange, mark=triangle*, mark size=3pt, only marks] {4 - x};
    \legend{linear, power, root, falling}
  \end{axis}
\end{tikzpicture}
Compuesto por Scissor LaTeX: Colores, patrones de trazos y marcas

Las marcas se dibujan siempre con líneas continuas, incluso en una serie discontinua, como en pgfplots.

Elegir una lista cíclica

Una lista cíclica es la secuencia de estilos que usan los comandos \addplot sin opciones. Elige una predefinida con cycle list name, o escribe la tuya con cycle list.

La lista cíclica black white y una propia

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[cycle list name=black white, width=6.5cm, height=5cm, title={black white}]
    \addplot coordinates {(0,0) (1,1) (2,4)};
    \addplot coordinates {(0,1) (1,2) (2,2)};
    \addplot coordinates {(0,2) (1,0) (2,1)};
  \end{axis}
\end{tikzpicture}
\begin{tikzpicture}
  \begin{axis}[cycle list={{red, thick}, {blue, dashed}}, width=6.5cm, height=5cm, title={custom}]
    \addplot coordinates {(0,0) (1,1) (2,4)};
    \addplot coordinates {(0,1) (1,2) (2,2)};
  \end{axis}
\end{tikzpicture}
Compuesto por Scissor LaTeX: La lista cíclica black white y una propia

Nombres predefinidos que funcionan: color (el predeterminado), exotic, black white, mark list y linestyles. \pgfplotscreateplotcyclelist{name}{...} en el preámbulo define una lista que puedes reutilizar.

Curvas suaves y escalones

smooth dibuja una curva que pasa por los puntos en lugar de segmentos rectos; tension (0.55 por defecto) controla lo redondeada que es. const plot dibuja una función escalonada que mantiene cada valor hasta el punto siguiente.

smooth y const plot

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[ymin=0, legend pos=north west]
    \addplot+[smooth] coordinates {(0,1) (1,2.5) (2,1.8) (3,3.2) (4,2.4)};
    \addplot+[const plot] coordinates {(0,0.5) (1,1) (2,1.5) (3,1.2) (4,2)};
    \legend{smooth, const plot}
  \end{axis}
\end{tikzpicture}

Funciones en grados y radianes

Las fórmulas usan pgfmath: + - * / ^, paréntesis, sqrt, exp, ln, abs, min, max, sin, cos, tan y más, con pi y e como constantes. Los ángulos van en grados, así que convierte los radianes con deg(x).

sin y cos en un periodo

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[domain=0:2*pi, samples=80, xlabel=$t$,
               xtick={0,1.5708,3.1416,4.7124,6.2832},
               xticklabels={$0$,$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,$2\pi$},
               legend pos=south west]
    \addplot[blue, thick] {sin(deg(x))};
    \addplot[red, thick, dashed] {cos(deg(x))};
    \legend{$\sin t$, $\cos t$}
  \end{axis}
\end{tikzpicture}

Curvas paramétricas

Para dibujar una curva dada por x(t) e y(t), escribe ambas fórmulas entre paréntesis, separadas por una coma, y fija variable=t.

Una curva de Lissajous

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[axis lines=middle, xmin=-1.3, xmax=1.3, ymin=-1.3, ymax=1.3]
    \addplot[purple, thick, domain=0:360, samples=120, variable=t]
      ({cos(t)}, {sin(2*t)});
  \end{axis}
\end{tikzpicture}

Huecos en una curva

Una función como 1/x se dispara hacia el infinito. restrict y to domain descarta los puntos fuera de un rango, y unbounded coords=jump corta ahí la línea en lugar de unir las dos ramas. Pon ambas en el \addplot.

1/x con un corte en cero

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[ymin=-10, ymax=10, axis lines=middle]
    \addplot[blue, thick, domain=-3:3, samples=200,
             restrict y to domain=-10:10, unbounded coords=jump] {1/x};
  \end{axis}
\end{tikzpicture}

Diferencias con una instalación de TeX

El manual de pgfplots en CTAN describe todas las opciones: ctan.org/pkg/pgfplots. Para puntos sin líneas, consulta gráficos de dispersión.

Consulta también Fundamentos de pgfplots, Ejes logarítmicos, Gráficos agrupados y Datos desde CSV.

Preguntas y respuestas

¿Cómo dibujo una función en LaTeX?

Escribe \addplot[domain=a:b, samples=n] {formula}; dentro de un axis, con x como variable, por ejemplo {x^2 - 1}.

¿Cómo quito las marcas de una línea?

Añade no marks a las opciones del \addplot, o da opciones sin + (por ejemplo \addplot[blue]), lo que dibuja una línea simple.

¿Por qué sin(x) sale casi plano?

pgfplots lee el ángulo en grados, así que sin(x) de 0 a 6 cubre solo 6 grados. Escribe sin(deg(x)).

Scissor LaTeX compone cada ejemplo de esta página al generar el sitio. Última actualización: 2026-11-07.