\usepackage{pgfplots}

pgfplots: gráficos y diagramas en LaTeX

Cree gráficos con calidad de publicación directamente en sus documentos LaTeX con pgfplots. Desde simples gráficas de funciones hasta figuras complejas de varios paneles con datos de dispersión.

Guía de TikZ

Primeros pasos

Añada \usepackage{pgfplots} a su preámbulo y establezca el nivel de compatibilidad con \pgfplotsset{compat=1.18} . Luego envuelva su gráfico en un entorno tikzpicture y en un entorno axis. Opciones clave explicadas:

  • title—Texto mostrado sobre el marco del gráfico
  • xlabel / ylabel—Etiquetas de los ejes; se admite el modo matemático
  • grid—major, minor o both: dibuja líneas de cuadrícula en las marcas
  • domain=a:b—El rango de x sobre el cual se evalúa la función
  • samples—Número de puntos de evaluación: a mayor valor, curva más suave
  • \addplot[opts] {expr};—Dibuja un gráfico; las opciones incluyen color, thick, dashed
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}

\begin{tikzpicture}
  \begin{axis}[
    title={$f(x) = x^{2}$},
    xlabel={$x$},
    ylabel={$f(x)$},
    grid=major,
    width=8cm,
    height=6cm,
  ]
    \addplot[blue, thick, domain=-3:3, samples=100] {x^2};
  \end{axis}
\end{tikzpicture}

\end{document}

Opciones del entorno axis

Todas las opciones se pasan dentro de los corchetes del comando \begin{axis}[…]. Pueden combinarse libremente.

OpciónTipoDescripción
titlestringTítulo mostrado sobre el marco del eje.
xlabel / ylabelstringEtiquetas de los ejes x e y; admiten modo matemático.
xmin / xmaxnumberLímites inferior y superior explícitos del eje x.
gridmajor | minor | bothDibuja líneas de cuadrícula en las marcas principales, en las secundarias o en ambas.
xticklistPosiciones explícitas de las marcas, como lista separada por comas.
xticklabelslistEtiquetas personalizadas para cada marca; admite entradas en modo matemático.
width / heightlengthPhysical size of the axis box, e.g. 10cm or 0.8\textwidth.
legend poskeywordPosición de la leyenda: north east, south west, outer north east, etc.

Varios gráficos y leyendas

Añada varios comandos \addplot dentro del mismo entorno axis para superponer curvas. Siga cada uno con \addlegendentry{label} para rellenar la leyenda automáticamente. La opción legend pos controla la ubicación: use outer north east para colocar la leyenda fuera del marco del eje y evitar que se superponga con sus datos.

Las etiquetas de marcas personalizadas con xticklabels aceptan fracciones en modo matemático como $\frac{\pi}{2}$. La opción minor tick num=1 inserta una marca secundaria entre cada par de marcas principales.

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}

\begin{tikzpicture}
  \begin{axis}[
    title={Trigonometric Functions},
    xlabel={$x$ (radians)},
    ylabel={$y$},
    xmin=0, xmax=6.2832,
    ymin=-1.3, ymax=1.3,
    xtick={0,1.5708,3.1416,4.7124,6.2832},
    xticklabels={$0$, $\frac{\pi}{2}$, $\pi$, $\frac{3\pi}{2}$, $2\pi$},
    grid=both,
    minor tick num=1,
    legend pos=outer north east,
    width=10cm,
    height=6cm,
  ]
    \addplot[blue, thick, domain=0:6.2832, samples=200] {sin(deg(x))};
    \addlegendentry{$\sin(x)$}
    \addplot[red,  thick, domain=0:6.2832, samples=200] {cos(deg(x))};
    \addlegendentry{$\cos(x)$}
  \end{axis}
\end{tikzpicture}

\end{document}

Tipos de gráfico

pgfplots admite varios manejadores de gráficos mediante el comando \addplot. El manejador se selecciona mediante las opciones del gráfico o la sintaxis de coordenadas.

Gráfico de función

Grafique cualquier expresión matemática en un rango usando domain y samples.

\addplot[color, thick, domain=a:b] {expr};

Dispersión / coordenadas

Grafique puntos de datos discretos proporcionados directamente en el archivo fuente.

\addplot[only marks] coordinates { (x1,y1) (x2,y2) };

Gráfico de barras

Gráfico de barras verticales con el manejador de gráfico ybar y pares de coordenadas.

\addplot[ybar] coordinates { (1,3) (2,5) (3,2) };

Desde un archivo

Cargue datos tabulares desde un archivo CSV externo o delimitado por espacios en blanco.

\addplot table {data.csv};

Personalización de los estilos de los ejes

Tres ajustes de estilo habituales que dan a los gráficos un acabado pulido en documentos académicos.

Esquema de color

Aplique un mapa de colores de pgfplots a un gráfico de superficie o de dispersión añadiendo colormap/cool como opción del eje.

colormap/cool

Tamaño de fuente

Escale las etiquetas de las marcas de forma independiente de la fuente del documento usando tick label style={font=\small} dentro de las opciones del eje.

tick label style={font=\small}

Estilo de cuadrícula

Personalice la apariencia de las líneas de cuadrícula estableciendo grid style={dashed, gray!40} en las opciones del eje.

grid style={dashed, gray!40}

Varias subfiguras

Para colocar dos o más gráficos uno junto a otro en una sola figura, combine pgfplots con el paquete subcaption. Cada gráfico va dentro de un entorno subfigure. Establezca width=\linewidth dentro de las opciones del eje para que cada gráfico llene su columna. Use \hfill entre subfiguras para distribuir el espacio horizontal de forma uniforme.

El \caption exterior del entorno figure proporciona el pie general, mientras que cada subfigure recibe automáticamente su propio subpie con etiquetas (a), (b), etc.

\documentclass{article}
\usepackage{pgfplots}
\usepackage{subcaption}
\pgfplotsset{compat=1.18}

\begin{document}

\begin{figure}[htbp]
  \centering
  \begin{subfigure}{0.48\textwidth}
    \begin{tikzpicture}
      \begin{axis}[width=\linewidth, title={$\sin(x)$}, grid=major]
        \addplot[blue, thick, domain=0:6.2832, samples=100] {sin(deg(x))};
      \end{axis}
    \end{tikzpicture}
    \caption{Sine function}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.48\textwidth}
    \begin{tikzpicture}
      \begin{axis}[width=\linewidth, title={$\cos(x)$}, grid=major]
        \addplot[red, thick, domain=0:6.2832, samples=100] {cos(deg(x))};
      \end{axis}
    \end{tikzpicture}
    \caption{Cosine function}
  \end{subfigure}
  \caption{Trigonometric functions side by side}
\end{figure}

\end{document}

Pruebe el gráfico de la onda senoidal

Abra un ejemplo de onda senoidal listo para compilar directamente en el playground de FormaTeX. Edítelo en vivo y descargue el PDF; no requiere instalación.

Preguntas frecuentes

Compile su diagrama de pgfplots

FormaTeX compila su LaTeX en la nube, sin necesidad de instalar TeX localmente. Regístrese gratis y empiece a graficar en segundos.