Podstawy pgfplots: wykresy w LaTeX z przykładami
Załaduj pgfplots, otwórz tikzpicture z axis w środku i dodaj każdą serię danych za pomocą \addplot, jako listę współrzędnych albo jako wzór.
Najmniejszy wykres
Każdy wykres pgfplots ma te same trzy warstwy: tikzpicture, w nim axis i po jednym \addplot na każdą serię danych. Załaduj pakiet poleceniem \usepackage{pgfplots} w preambule.
Cztery punkty połączone linią
\begin{tikzpicture}
\begin{axis}
\addplot coordinates {(0,1) (1,3) (2,2) (3,4)};
\end{axis}
\end{tikzpicture}Oś sama dobiera zakres i kreski na podstawie danych. Zwykły \addplot bierze kolor i znacznik z domyślnej listy cyklicznej: niebieski z okrągłymi znacznikami dla pierwszej serii, czerwony z kwadratami dla drugiej i tak dalej.
Wykres wzoru
Zamiast współrzędnych podaj \addplot wzór w nawiasach klamrowych. domain ustawia zakres x, a samples liczbę punktów. Bez nich pgfplots używa zakresu od -5 do 5 z 25 próbkami.
Funkcja z domain i samples
\begin{tikzpicture}
\begin{axis}
\addplot[blue, thick, domain=-2:2, samples=60] {x^3 - 2*x};
\end{axis}
\end{tikzpicture}Opcje w nawiasach kwadratowych po \addplot nadają styl tej serii. Gdy podasz opcje bez +, seria jest rysowana na czarno (lub w kolorze, który wskażesz) bez znaczników; \addplot+[...] zachowuje styl z listy cyklicznej i dodaje do niego Twoje opcje.
Etykiety, tytuł, legenda i siatka
Te opcje trafiają do axis, więc dotyczą całego wykresu.
Etykiety osi, tytuł, legenda i siatka
\begin{tikzpicture}
\begin{axis}[
title={Cooling of a cup of tea},
xlabel={Time (min)},
ylabel={Temperature ($^\circ$C)},
grid=major,
legend pos=north east,
]
\addplot coordinates {(0,80) (5,64) (10,53) (15,44) (20,38)};
\addlegendentry{Measured}
\addplot[red, domain=0:20, samples=40] {22 + 58*exp(-0.08*x)};
\addlegendentry{Model}
\end{axis}
\end{tikzpicture}Etykiety są tekstem, więc matematyka trafia między $ ... $ jak w akapicie. \addlegendentry po każdym \addplot nadaje nazwę tej serii; możesz też wymienić wszystkie nazwy na końcu za pomocą \legend{Measured, Model}.
Typowe opcje osi
| Opcja | Co robi | W Scissor LaTeX |
|---|---|---|
xlabel, ylabel, title | tekst wzdłuż osi i nad wykresem | Działa |
xmin, xmax, ymin, ymax | ustala widoczny zakres | Działa |
width, height | rozmiar całego rysunku, na przykład width=\linewidth | Działa |
grid=major, grid=both | linie siatki przy kreskach głównych (i pomocniczych) | Działa |
xtick={0,1,2}, xticklabels={a,b,c} | wybór kresek i ich etykiet | Działa |
legend pos=north west | north west, north east, south west, south east, outer north east | Działa |
axis lines=left | para osi w kształcie litery L ze strzałkami zamiast ramki | Działa (także middle, center, none) |
enlargelimits=false | bez dodatkowego miejsca wokół danych | Działa |
axis equal | ta sama skala na obu osiach | Jeszcze nieobsługiwane: pomijane z komunikatem w karcie Problemy |
Większość pozostałych opcji z dokumentacji pgfplots również działa; strona wykresów liniowych wymienia style i znaczniki. Opcja, której renderer nie zna, jest pomijana, a karta Problemy podaje jej nazwę.
Rozmiar i położenie
Domyślnie wykres ma około 240 na 207 punktów, czyli domyślny rozmiar pgfplots. Aby go zmienić, ustaw width i height w osi. Aby nadać wykresowi podpis i numer, umieść tikzpicture wewnątrz figure, tak jak obraz.
Wykres w rysunku z podpisem
\begin{figure}[h]
\centering
\begin{tikzpicture}
\begin{axis}[width=7cm, height=4.5cm, xlabel=$x$, ylabel=$x^2$]
\addplot[domain=0:2, samples=30] {x^2};
\end{axis}
\end{tikzpicture}
\caption{A parabola on $[0, 2]$.}
\label{fig:parabola}
\end{figure}
Figure~\ref{fig:parabola} shows the parabola.\resizebox{0.5\linewidth}{!}{...} wokół pojedynczego tikzpicture również działa: rysunek jest skalowany do tej szerokości.
Czym różni się od instalacji TeX
Wszystko na tej stronie kompiluje się także w instalacji TeX z pgfplots. Pełna dokumentacja jest na CTAN: ctan.org/pkg/pgfplots.
Pytania i odpowiedzi
Czy muszę instalować pgfplots?
Nie. Napisz \usepackage{pgfplots} jak zwykle. Scissor LaTeX rozpoznaje pakiet i sam rysuje wykresy w przeglądarce.
Dlaczego mój wykres funkcji jest poszarpany?
pgfplots domyślnie łączy 25 punktów. Dodaj samples=100 (lub więcej) do \addplot albo do osi, aby uzyskać gładszą krzywą, albo dodaj smooth, aby poprowadzić krzywą przez punkty.
Czy mogę używać pgfplots bez tikzpicture?
Nie, w LaTeX środowisko axis zawsze znajduje się wewnątrz tikzpicture. Scissor LaTeX trzyma się tej samej zasady, więc Twój kod kompiluje się także gdzie indziej.
Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.