Pular para o conteúdo

Gráficos de dispersão com pgfplots

Acrescente only marks a um \addplot dentro de um axis do pgfplots, para que os pontos sejam desenhados sem linhas; escolha a forma com mark= e leia os pontos de coordenadas ou de uma tabela.

Pontos sem linhas

Um gráfico de dispersão é uma série desenhada só com marcadores. Acrescente only marks ao \addplot, com + para manter a cor e o marcador da lista de ciclo.

Dois grupos de pontos

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}
Renderizado pelo Scissor LaTeX: Dois grupos de pontos

Formas, tamanhos e cores dos marcadores

mark= define a forma e mark size=, o raio (2pt por padrão). As formas preenchidas terminam em *. mark options define o estilo só dos marcadores, por exemplo um marcador vazado com preenchimento branco.

Marcadores diferentes para séries diferentes

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}

As formas que funcionam estão listadas na página de gráficos de linhas.

Pontos de uma tabela

Para mais do que alguns pontos, escreva-os como tabela. A primeira linha dá nome às colunas; x= e y= escolhem as colunas a plotar. A tabela pode ficar no próprio código, como aqui, ou num arquivo (veja dados de um arquivo CSV).

Pontos lidos de uma tabela no código

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}

A linha vermelha é uma fórmula desenhada sobre os pontos, um jeito simples de mostrar uma tendência ajustada.

Colorindo pontos por um valor

Com scatter, cada ponto recebe uma cor do mapa de cores de acordo com um valor. point meta=y usa o valor de y; scatter src=explicit com meta= lê uma terceira coluna. Acrescente colorbar para mostrar a escala.

Pontos coloridos por uma terceira coluna

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}

Classes de pontos

No pgfplots, scatter/classes dá a cada nome de classe de uma coluna o seu próprio marcador. O Scissor LaTeX ainda não suporta isso: a opção é ignorada com uma mensagem e todos os pontos recebem o mesmo marcador.

scatter/classes: um marcador para todos os pontos

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}

Aba Problemas: pgfplots option 'scatter/classes' is not supported yet

O que muda em relação a uma instalação do TeX

Os detalhes completos dos marcadores e das opções de dispersão estão no manual do pgfplots: ctan.org/pkg/pgfplots.

Perguntas e respostas

Como faço um gráfico de dispersão sem linhas?

Acrescente only marks às opções do \addplot, por exemplo \addplot+[only marks] coordinates {...};.

Como mudo o tamanho dos pontos?

Use mark size=3pt no \addplot. O valor é o raio do marcador.

Posso plotar pontos de um arquivo CSV?

Sim. Envie o arquivo para o projeto e escreva \addplot+[only marks] table[x=a, y=b, col sep=comma] {file.csv};.

Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.