Saltar al contenido

Gráficos de dispersión con pgfplots

Añade only marks a un \addplot dentro de un axis de pgfplots, para que los puntos se dibujen sin líneas; elige la forma con mark= y lee los puntos de coordenadas o de una tabla.

Puntos sin líneas

Un gráfico de dispersión es una serie dibujada solo con marcas. Añade only marks al \addplot, con + para mantener el color y la marca de la lista cíclica.

Dos grupos de puntos

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[xlabel={Height (m)}, ylabel={Mass (kg)}, legend pos=north west]
    \addplot+[only marks] coordinates {
      (1.62,55) (1.68,61) (1.71,66) (1.75,69) (1.80,74) (1.84,79)};
    \addplot+[only marks] coordinates {
      (1.58,49) (1.64,57) (1.69,58) (1.73,64) (1.77,68)};
    \legend{Group A, Group B}
  \end{axis}
\end{tikzpicture}
Compuesto por Scissor LaTeX: Dos grupos de puntos

Formas, tamaños y colores de las marcas

mark= fija la forma y mark size= su radio (2pt por defecto). Las formas rellenas terminan en *. mark options da estilo solo a las marcas, por ejemplo una marca abierta con relleno blanco.

Marcas distintas para series distintas

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[enlargelimits=0.15, legend pos=outer north east]
    \addplot[only marks, mark=o, blue] coordinates {(1,2) (2,3) (3,2.5)};
    \addplot[only marks, mark=square*, red, mark size=3pt] coordinates {(1,1) (2,1.8) (3,1.2)};
    \addplot[only marks, mark=triangle*, teal, mark options={fill=white}] coordinates {(1,3) (2,4) (3,3.8)};
    \addplot[only marks, mark=x, black, mark size=4pt] coordinates {(1.5,0.5) (2.5,0.8)};
    \legend{circle, square, triangle, cross}
  \end{axis}
\end{tikzpicture}

Las formas que funcionan aparecen en la página de gráficos de líneas.

Puntos desde una tabla

Para más de unos pocos puntos, escríbelos como tabla. La primera fila nombra las columnas; x= e y= eligen las columnas que se dibujan. La tabla puede ir en línea, como aquí, o en un archivo (consulta datos desde un archivo CSV).

Puntos leídos de una tabla en línea

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[xlabel={Hours studied}, ylabel={Points}]
    \addplot[only marks, mark=*, blue!70!black] table[x=hours, y=points] {
      hours points
      2     21
      3     26
      4     30
      5     29
      6     37
      7     40
      8     44
    };
    \addplot[red, domain=2:8] {13.5 + 3.8*x};
  \end{axis}
\end{tikzpicture}

La línea roja es una fórmula dibujada sobre los puntos, una forma sencilla de mostrar una tendencia ajustada.

Colorear los puntos según un valor

Con scatter, cada punto se colorea a partir del mapa de colores según un valor. point meta=y usa el valor de y; scatter src=explicit con meta= lee una tercera columna. Añade colorbar para mostrar la escala.

Puntos coloreados según una tercera columna

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[colorbar, colormap/viridis, xlabel=$x$, ylabel=$y$]
    \addplot[scatter, only marks, mark size=3pt, scatter src=explicit]
      table[x=x, y=y, meta=t] {
      x   y   t
      0.5 1.0 10
      1.0 2.2 15
      1.6 1.4 21
      2.1 3.0 28
      2.8 2.1 33
      3.3 3.6 44
    };
  \end{axis}
\end{tikzpicture}

Clases de puntos

En pgfplots, scatter/classes da a cada nombre de clase de una columna su propia marca. Scissor LaTeX aún no lo admite: la opción se ignora con un mensaje, y todos los puntos reciben la misma marca.

scatter/classes: una sola marca para todos los puntos

LaTeXPreámbulo: \usepackage{pgfplots}Abrir en el editor (se abre en una pestaña nueva)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=5cm]
    \addplot[scatter, only marks, scatter src=explicit symbolic,
             scatter/classes={a={mark=square*, blue}, b={mark=*, red}}]
      table[meta=group] {
      x y group
      1 1 a
      2 2 b
      3 1.5 a
    };
  \end{axis}
\end{tikzpicture}

Pestaña Problemas: pgfplots option 'scatter/classes' is not supported yet

Diferencias con una instalación de TeX

Todos los detalles sobre marcas y opciones de dispersión están en el manual de pgfplots: ctan.org/pkg/pgfplots.

Preguntas y respuestas

¿Cómo hago un gráfico de dispersión sin líneas?

Añade only marks a las opciones del \addplot, por ejemplo \addplot+[only marks] coordinates {...};.

¿Cómo cambio el tamaño de los puntos?

Usa mark size=3pt en el \addplot. El valor es el radio de la marca.

¿Puedo dibujar puntos desde un archivo CSV?

Sí. Sube el archivo al proyecto y escribe \addplot+[only marks] table[x=a, y=b, col sep=comma] {file.csv};.

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