Przejdź do treści

Wykresy liniowe w pgfplots

Dodaj po jednym \addplot na każdą linię wewnątrz axis; nadaj każdej styl opcjami takimi jak red, dashed, thick czy mark=square* albo pozwól, by styl wybrała lista cykliczna.

Kilka linii na jednej osi

Każdy \addplot dodaje serię. Bez opcji serie biorą po kolei styl z listy cyklicznej. Za pomocą \addplot+[...] zachowujesz ten styl i zmieniasz tylko jego część.

Trzy serie z domyślnej listy cyklicznej

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}
Złożone przez Scissor LaTeX: Trzy serie z domyślnej listy cyklicznej

Style linii i znaczniki

Opcje po \addplot ustawiają kolor, linię i znaczniki. Możesz je dowolnie łączyć.

OpcjaWartościW Scissor LaTeX
kolorred, blue!60!black, color=teal, dowolna nazwa lub mieszanka z xcolorDziała
grubość liniiultra thin, very thin, thin, semithick, thick, very thick, ultra thick, line width=1.5ptDziała
wzór kreskowaniasolid, dashed, dotted, densely dashed, loosely dotted, dashdotted, dash pattern=on 4pt off 2ptDziała
mark=*, o, square*, square, triangle*, triangle, diamond*, diamond, x, +, star, pentagon*, asterisk, otimes*, |, -, noneDziała
mark size=3ptpromień znacznikaDziała
mark options={fill=white}styl samych znacznikówDziała
mark repeat=2znacznik na co drugim punkcieDziała
no marks, only markssame linie, same znacznikiDziała

Kolory, wzory kreskowania i znaczniki

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}
Złożone przez Scissor LaTeX: Kolory, wzory kreskowania i znaczniki

Znaczniki są zawsze rysowane linią ciągłą, nawet na serii przerywanej, tak jak w pgfplots.

Wybór listy cyklicznej

Lista cykliczna to sekwencja stylów, których używają zwykłe polecenia \addplot. Wybierz wbudowaną za pomocą cycle list name albo napisz własną za pomocą cycle list.

Lista cykliczna black white i własna lista

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}
Złożone przez Scissor LaTeX: Lista cykliczna black white i własna lista

Działające nazwy wbudowane: color (domyślna), exotic, black white, mark list i linestyles. \pgfplotscreateplotcyclelist{name}{...} w preambule definiuje listę, której możesz używać wielokrotnie.

Gładkie krzywe i schodki

smooth prowadzi krzywą przez punkty zamiast prostych odcinków; tension (domyślnie 0.55) określa, jak bardzo jest zaokrąglona. const plot rysuje funkcję schodkową, która utrzymuje każdą wartość aż do następnego punktu.

smooth i const plot

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}

Funkcje w stopniach i radianach

Wzory korzystają z pgfmath: + - * / ^, nawiasy, sqrt, exp, ln, abs, min, max, sin, cos, tan i inne, ze stałymi pi i e. Kąty są w stopniach, więc radiany zamieniaj za pomocą deg(x).

sin i cos w jednym okresie

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}

Krzywe parametryczne

Aby narysować krzywą zadaną przez x(t) i y(t), zapisz oba wzory w nawiasach okrągłych, oddzielone przecinkiem, i ustaw variable=t.

Krzywa Lissajous

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}

Przerwy w krzywej

Funkcja taka jak 1/x ucieka do nieskończoności. restrict y to domain odrzuca punkty spoza zakresu, a unbounded coords=jump przerywa w tym miejscu linię zamiast łączyć obie gałęzie. Umieść obie opcje w \addplot.

1/x z przerwą w zerze

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}

Czym różni się od instalacji TeX

Dokumentacja pgfplots na CTAN opisuje każdą opcję: ctan.org/pkg/pgfplots. Punkty bez linii opisuje strona wykresów punktowych.

Zobacz też podstawy pgfplots, Osie logarytmiczne, Wykresy grupowe i Dane z CSV.

Pytania i odpowiedzi

Jak narysować wykres funkcji w LaTeX?

Napisz \addplot[domain=a:b, samples=n] {formula}; wewnątrz axis, z x jako zmienną, na przykład {x^2 - 1}.

Jak usunąć znaczniki z linii?

Dodaj no marks do opcji \addplot albo podaj opcje bez + (na przykład \addplot[blue]), co rysuje zwykłą linię.

Dlaczego sin(x) wygląda prawie płasko?

pgfplots odczytuje kąt w stopniach, więc sin(x) w zakresie od 0 do 6 obejmuje tylko 6 stopni. Napisz sin(deg(x)).

Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.