Chuyển đến nội dung

pgfplots cơ bản: vẽ đồ thị trong LaTeX qua ví dụ

Nạp pgfplots, mở một tikzpicture chứa một axis bên trong, và thêm mỗi chuỗi dữ liệu bằng \addplot, dưới dạng danh sách tọa độ hoặc một công thức.

Đồ thị nhỏ nhất

Mọi đồ thị pgfplots đều có ba lớp giống nhau: một tikzpicture, một axis bên trong nó, và một \addplot cho mỗi chuỗi dữ liệu. Nạp gói bằng \usepackage{pgfplots} trong phần mở đầu.

Bốn điểm nối bằng một đường

LaTeXPhần mở đầu: \usepackage{pgfplots}Mở trong trình soạn (mở trong thẻ mới)
\begin{tikzpicture}
  \begin{axis}
    \addplot coordinates {(0,1) (1,3) (2,2) (3,4)};
  \end{axis}
\end{tikzpicture}

Trục tự chọn khoảng giá trị và các vạch chia từ dữ liệu. Một \addplot không có tùy chọn lấy màu và kiểu điểm đánh dấu từ danh sách chu kỳ mặc định: màu xanh với điểm tròn cho chuỗi đầu tiên, màu đỏ với hình vuông cho chuỗi thứ hai, và cứ thế tiếp tục.

Vẽ một công thức

Thay vì tọa độ, hãy đưa cho \addplot một công thức trong ngoặc nhọn. domain đặt khoảng của x và samples đặt số điểm. Nếu không có chúng, pgfplots dùng khoảng từ -5 đến 5 với 25 điểm mẫu.

Một hàm số với domain và samples

LaTeXPhần mở đầu: \usepackage{pgfplots}Mở trong trình soạn (mở trong thẻ mới)
\begin{tikzpicture}
  \begin{axis}
    \addplot[blue, thick, domain=-2:2, samples=60] {x^3 - 2*x};
  \end{axis}
\end{tikzpicture}

Các tùy chọn trong ngoặc vuông sau \addplot định kiểu cho chuỗi đó. Khi bạn đưa tùy chọn mà không có +, chuỗi được vẽ màu đen (hoặc màu bạn nêu) và không có điểm đánh dấu; \addplot+[...] giữ kiểu của danh sách chu kỳ và thêm các tùy chọn của bạn vào đó.

Nhãn, tiêu đề, chú giải và lưới

Các tùy chọn này đặt trên axis, nên chúng ảnh hưởng đến toàn bộ đồ thị.

Nhãn trục, tiêu đề, chú giải và lưới

LaTeXPhần mở đầu: \usepackage{pgfplots}Mở trong trình soạn (mở trong thẻ mới)
\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}
Dàn trang bởi Scissor LaTeX: Nhãn trục, tiêu đề, chú giải và lưới

Nhãn là văn bản, nên công thức toán đặt giữa $ ... $ như trong một đoạn văn. \addlegendentry sau mỗi \addplot đặt tên cho chuỗi đó; bạn cũng có thể liệt kê mọi tên ở cuối bằng \legend{Measured, Model}.

Các tùy chọn trục thông dụng

Tùy chọnTác dụngTrong Scissor LaTeX
xlabel, ylabel, titlevăn bản dọc theo các trục và phía trên đồ thịHoạt động
xmin, xmax, ymin, ymaxcố định khoảng hiển thịHoạt động
width, heightkích thước của cả hình, ví dụ width=\linewidthHoạt động
grid=major, grid=bothđường lưới tại các vạch chia chính (và phụ)Hoạt động
xtick={0,1,2}, xticklabels={a,b,c}chọn các vạch chia và nhãn của chúngHoạt động
legend pos=north westnorth west, north east, south west, south east, outer north eastHoạt động
axis lines=leftmột cặp trục hình chữ L có mũi tên thay vì khungHoạt động (cả middle, center, none)
enlargelimits=falsekhông có khoảng trống thêm quanh dữ liệuHoạt động
axis equalcùng tỉ lệ trên cả hai trụcChưa hỗ trợ: bị bỏ qua kèm thông báo trong thẻ Sự cố

Phần lớn các tùy chọn khác trong tài liệu hướng dẫn pgfplots cũng hoạt động; trang đồ thị đường liệt kê các kiểu đường và điểm đánh dấu. Một tùy chọn mà bộ vẽ không biết sẽ bị bỏ qua, và thẻ Sự cố nêu tên nó.

Kích thước và vị trí

Theo mặc định, một đồ thị có kích thước khoảng 240 x 207 point, đúng mặc định của pgfplots. Đặt width và height trên trục để thay đổi. Để đồ thị có chú thích và số thứ tự, hãy đặt tikzpicture bên trong một figure, như với một hình ảnh.

Một đồ thị trong figure có chú thích

LaTeXPhần mở đầu: \usepackage{pgfplots}Mở trong trình soạn (mở trong thẻ mới)
\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.
Dàn trang bởi Scissor LaTeX: Một đồ thị trong figure có chú thích

\resizebox{0.5\linewidth}{!}{...} bao quanh một tikzpicture duy nhất cũng hoạt động: hình được co giãn theo chiều rộng đó.

Khác biệt so với một bản cài đặt TeX

Mọi thứ trên trang này cũng biên dịch được trong một bản cài đặt TeX có pgfplots. Tài liệu hướng dẫn đầy đủ có trên CTAN: ctan.org/pkg/pgfplots.

Hỏi và đáp

Tôi có cần cài đặt pgfplots không?

Không. Hãy viết \usepackage{pgfplots} như bình thường. Scissor LaTeX nhận ra gói này và tự vẽ đồ thị, ngay trong trình duyệt.

Vì sao đồ thị hàm số của tôi bị răng cưa?

pgfplots mặc định nối 25 điểm. Thêm samples=100 (hoặc nhiều hơn) vào \addplot hoặc vào trục để có đường cong mượt hơn, hoặc thêm smooth để vẽ một đường cong đi qua các điểm.

Tôi có thể dùng pgfplots mà không có tikzpicture không?

Không, trong LaTeX môi trường axis luôn nằm bên trong một tikzpicture. Scissor LaTeX theo cùng quy tắc này, nên mã của bạn cũng biên dịch được ở nơi khác.

Mọi ví dụ trên trang này đều được Scissor LaTeX dàn trang khi xây dựng trang web. Cập nhật lần cuối 2026-11-07.