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
\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}Style linii i znaczniki
Opcje po \addplot ustawiają kolor, linię i znaczniki. Możesz je dowolnie łączyć.
| Opcja | Wartości | W Scissor LaTeX |
|---|---|---|
| kolor | red, blue!60!black, color=teal, dowolna nazwa lub mieszanka z xcolor | Działa |
| grubość linii | ultra thin, very thin, thin, semithick, thick, very thick, ultra thick, line width=1.5pt | Działa |
| wzór kreskowania | solid, dashed, dotted, densely dashed, loosely dotted, dashdotted, dash pattern=on 4pt off 2pt | Działa |
mark= | *, o, square*, square, triangle*, triangle, diamond*, diamond, x, +, star, pentagon*, asterisk, otimes*, |, -, none | Działa |
mark size=3pt | promień znacznika | Działa |
mark options={fill=white} | styl samych znaczników | Działa |
mark repeat=2 | znacznik na co drugim punkcie | Działa |
no marks, only marks | same linie, same znaczniki | Działa |
Kolory, wzory kreskowania i znaczniki
\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}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
\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}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
\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
\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
\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
\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.