Pular para o conteúdo

Gráficos de linhas com pgfplots

Adicione um \addplot por linha dentro de um axis; defina o estilo de cada uma com opções como red, dashed, thick ou mark=square*, ou deixe a lista de ciclo escolher um estilo por você.

Várias linhas num mesmo eixo

Cada \addplot acrescenta uma série. Sem opções, as séries pegam o estilo da lista de ciclo, uma após a outra. Com \addplot+[...] você mantém esse estilo e muda só uma parte dele.

Três séries da lista de ciclo padrão

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}
Renderizado pelo Scissor LaTeX: Três séries da lista de ciclo padrão

Estilos de linha e marcadores

As opções depois de \addplot definem a cor, a linha e os marcadores. Você pode combiná-las à vontade.

OpçãoValoresNo Scissor LaTeX
corred, blue!60!black, color=teal, qualquer nome ou mistura do xcolorFunciona
espessura da linhaultra thin, very thin, thin, semithick, thick, very thick, ultra thick, line width=1.5ptFunciona
padrão de traçosolid, 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=3ptraio do marcadorFunciona
mark options={fill=white}estilo só dos marcadoresFunciona
mark repeat=2um marcador a cada dois pontosFunciona
no marks, only markssó linhas, só marcadoresFunciona

Cores, padrões de traço e marcadores

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}
Renderizado pelo Scissor LaTeX: Cores, padrões de traço e marcadores

Os marcadores são sempre desenhados com linhas contínuas, mesmo numa série tracejada, como no pgfplots.

Escolhendo uma lista de ciclo

Uma lista de ciclo é a sequência de estilos que os comandos \addplot simples usam. Escolha uma das prontas com cycle list name, ou escreva a sua com cycle list.

A lista de ciclo black white e uma personalizada

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}
Renderizado pelo Scissor LaTeX: A lista de ciclo black white e uma personalizada

Nomes prontos que funcionam: color (o padrão), exotic, black white, mark list e linestyles. \pgfplotscreateplotcyclelist{name}{...} no preâmbulo define uma lista que você pode reutilizar.

Curvas suaves e degraus

smooth traça uma curva pelos pontos em vez de segmentos retos; tension (padrão 0.55) controla o quanto ela é arredondada. const plot desenha uma função em degraus que mantém cada valor até o ponto seguinte.

smooth e const plot

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

Funções em graus e radianos

As fórmulas usam o pgfmath: + - * / ^, parênteses, sqrt, exp, ln, abs, min, max, sin, cos, tan e outras, com pi e e como constantes. Os ângulos são em graus, então converta radianos com deg(x).

sin e cos ao longo de um período

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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 plotar uma curva dada por x(t) e y(t), escreva as duas fórmulas entre parênteses, separadas por vírgula, e defina variable=t.

Uma curva de Lissajous

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

Interrupções numa curva

Uma função como 1/x dispara para o infinito. restrict y to domain descarta os pontos fora de um intervalo, e unbounded coords=jump interrompe a linha ali, em vez de ligar os dois ramos. Coloque as duas opções no \addplot.

1/x com uma interrupção no zero

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

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

O manual do pgfplots no CTAN descreve todas as opções: ctan.org/pkg/pgfplots. Para pontos sem linhas, veja gráficos de dispersão.

Veja também Noções básicas de pgfplots, Eixos logarítmicos, Gráficos em grupo e Dados de CSV.

Perguntas e respostas

Como ploto uma função em LaTeX?

Escreva \addplot[domain=a:b, samples=n] {formula}; dentro de um axis, usando x como variável, por exemplo {x^2 - 1}.

Como removo os marcadores de uma linha?

Acrescente no marks às opções do \addplot, ou passe opções sem + (por exemplo \addplot[blue]), o que desenha uma linha simples.

Por que sin(x) parece quase reto?

O pgfplots lê o ângulo em graus, então sin(x) de 0 a 6 cobre só 6 graus. Escreva sin(deg(x)).

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