Przejdź do treści

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ą

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

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

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

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

OpcjaCo robiW Scissor LaTeX
xlabel, ylabel, titletekst wzdłuż osi i nad wykresemDziała
xmin, xmax, ymin, ymaxustala widoczny zakresDziała
width, heightrozmiar całego rysunku, na przykład width=\linewidthDziała
grid=major, grid=bothlinie siatki przy kreskach głównych (i pomocniczych)Działa
xtick={0,1,2}, xticklabels={a,b,c}wybór kresek i ich etykietDziała
legend pos=north westnorth west, north east, south west, south east, outer north eastDziała
axis lines=leftpara osi w kształcie litery L ze strzałkami zamiast ramkiDziała (także middle, center, none)
enlargelimits=falsebez dodatkowego miejsca wokół danychDziała
axis equalta sama skala na obu osiachJeszcze 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

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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.
Złożone przez Scissor LaTeX: Wykres w rysunku z podpisem

\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.