Đường đồng mức, bản đồ nhiệt và bảng màu
Dùng \addplot3 trong một trục với view={0}{90}: surf hoặc matrix plot cho bản đồ nhiệt, contour filled cho đường đồng mức tô màu, và thêm colorbar cùng một colormap để có thang màu.
Bản đồ nhiệt của một hàm số
\addplot3 vẽ một hàm theo x và y. Khi nhìn từ trên xuống (view={0}{90}), một đồ thị surf trở thành bản đồ nhiệt: mỗi ô được tô màu theo giá trị của nó thông qua bảng màu. shader=interp hòa trộn màu một cách mượt mà; shader=flat cho mỗi ô một màu.
Bản đồ nhiệt mượt với thanh màu
\begin{tikzpicture}
\begin{axis}[view={0}{90}, colorbar, colormap/viridis,
xlabel=$x$, ylabel=$y$, enlargelimits=false]
\addplot3[surf, shader=interp, domain=-2:2, y domain=-2:2, samples=30]
{exp(-x^2 - y^2) * (1 + x)};
\end{axis}
\end{tikzpicture}domain đặt khoảng của x, y domain đặt khoảng của y, và samples đặt kích thước lưới (mặc định 25, samples y cho một số lượng khác theo y).
Đường đồng mức tô màu
contour filled chia các giá trị thành từng dải. number= đặt số mức đồng mức; levels={...} để bạn tự liệt kê các mức.
Đường đồng mức tô màu của một hàm hai đỉnh
\begin{tikzpicture}
\begin{axis}[view={0}{90}, colorbar, colormap/hot, enlargelimits=false]
\addplot3[contour filled={number=8}, domain=-3:3, y domain=-3:3, samples=40]
{exp(-(x-1)^2 - y^2) + 0.7*exp(-(x+1.2)^2 - (y-1)^2)};
\end{axis}
\end{tikzpicture}Bản đồ nhiệt từ bảng: matrix plot
Với dữ liệu đo trên một lưới, matrix plot* vẽ một ô cho mỗi hàng của bảng. mesh/cols cho biết lưới có bao nhiêu cột, và point meta=explicit cùng với meta= chỉ ra cột giá trị.
Một lưới giá trị 3 x 3
\begin{tikzpicture}
\begin{axis}[colorbar, colormap/bluered, enlargelimits=false,
xtick=data, ytick=data, width=6.5cm, height=6cm]
\addplot[matrix plot*, mesh/cols=3, point meta=explicit]
table[meta=v] {
x y v
0 0 1
1 0 4
2 0 2
0 1 3
1 1 9
2 1 5
0 2 2
1 2 6
2 2 44
};
\end{axis}
\end{tikzpicture}Đường đồng mức
Đường không tô màu cần các mức đồng mức được tính sẵn cho bạn. Trong pgfplots đó là contour gnuplot hoặc contour lua, vốn cần thêm chương trình ngoài hoặc LuaLaTeX trong một bản cài đặt TeX. Scissor LaTeX tự tính và vẽ các đường, đồng thời nhắc bạn trong thẻ Sự cố rằng mã này có thể không biên dịch được ở nơi khác.
Đường đồng mức với contour gnuplot
\begin{tikzpicture}
\begin{axis}[view={0}{90}, xlabel=$x$, ylabel=$y$]
\addplot3[contour gnuplot={levels={0.2, 0.5, 0.8}},
domain=-2:2, y domain=-2:2, samples=30]
{exp(-x^2 - y^2)};
\end{axis}
\end{tikzpicture}Thẻ Sự cố: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere
Để có một tệp biên dịch được ở mọi nơi, hãy dùng contour filled, hoặc contour prepared với dữ liệu đồng mức đã tính trước.
Bảng màu và thanh màu
| Tùy chọn | Tác dụng | Trong Scissor LaTeX |
|---|---|---|
colormap/viridis, /hot, /cool, /jet, /blackwhite, /bluered | các bảng màu có sẵn | Hoạt động |
colormap name=viridis | chọn bảng màu theo tên | Hoạt động |
colormap={name}{rgb255=(..) rgb255=(..)} | bảng màu của riêng bạn | Hoạt động |
colorbar, colorbar horizontal | một thang màu bên cạnh hoặc bên dưới đồ thị | Hoạt động |
colorbar style={..} | vạch chia và nhãn của thanh màu | Hoạt động |
point meta min, point meta max | cố định khoảng màu | Hoạt động |
shader=flat, shader=interp, shader=faceted | cách tô màu các ô | Hoạt động |
Một bảng màu tự tạo và thanh màu nằm ngang
\begin{tikzpicture}
\begin{axis}[view={0}{90}, enlargelimits=false,
colormap={sea}{rgb255=(255,255,255) rgb255=(120,180,220) rgb255=(10,40,100)},
colorbar horizontal, width=7cm, height=6cm]
\addplot3[surf, shader=flat, domain=0:2, y domain=0:2, samples=12] {x*y};
\end{axis}
\end{tikzpicture}Góc nhìn 3D
Scissor LaTeX chỉ vẽ \addplot3 khi nhìn thẳng từ trên xuống. Mọi view khác, kể cả góc nhìn 3D mặc định, để trục trống và hiển thị một thông báo.
Góc nhìn 3D không được vẽ
\begin{tikzpicture}
\begin{axis}[width=6cm, height=5cm]
\addplot3[surf, domain=-2:2, y domain=-2:2] {x^2 - y^2};
\end{axis}
\end{tikzpicture}Thẻ Sự cố: 3D plots are drawn only when seen from above (view={0}{90}) for now
Khác biệt so với một bản cài đặt TeX
Tài liệu hướng dẫn pgfplots trình bày chi tiết \addplot3, bảng màu và đường đồng mức: ctan.org/pkg/pgfplots.
Xem thêm pgfplots cơ bản, Trục logarit và pgfplots.
Hỏi và đáp
Làm thế nào để vẽ bản đồ nhiệt trong LaTeX?
Dùng \addplot3[surf, shader=interp] {f(x,y)}; (hoặc matrix plot* cho dữ liệu dạng bảng) trong một trục với view={0}{90}, và thêm colorbar.
Scissor LaTeX có vẽ đồ thị bề mặt 3D không?
Chưa. \addplot3 chỉ được vẽ khi nhìn từ trên xuống (view={0}{90}); các góc nhìn khác để trục trống và thẻ Sự cố sẽ báo điều đó.
Vì sao contour gnuplot hiện cảnh báo?
Trong một bản cài đặt TeX, nó cần gnuplot và shell escape. Scissor LaTeX vẫn vẽ các đường đồng mức, nhưng cảnh báo rằng mã có thể không biên dịch được ở nơi khác. contour filled biên dịch được ở mọi nơi.
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.