Langkau ke kandungan

Kontur, peta haba dan peta warna

Gunakan \addplot3 dalam paksi dengan view={0}{90}: surf atau matrix plot untuk peta haba, contour filled untuk kontur berisi, dan tambah colorbar serta colormap untuk skala.

Peta haba bagi fungsi

\addplot3 memplot fungsi x dan y. Apabila dilihat dari atas (view={0}{90}), plot surf menjadi peta haba: setiap sel diwarnakan mengikut nilainya melalui peta warna. shader=interp mengadun warna dengan licin; shader=flat memberikan satu warna bagi setiap sel.

Peta haba licin dengan bar warna

LaTeXMukadimah: \usepackage{pgfplots}Buka dalam editor (dibuka dalam tab baharu)
\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}
Disusun atur oleh Scissor LaTeX: Peta haba licin dengan bar warna

domain menetapkan julat x, y domain julat y, dan samples saiz grid (25 secara lalai, samples y untuk bilangan berbeza dalam y).

Kontur berisi

contour filled membahagikan nilai kepada jalur. number= menetapkan bilangan aras kontur; levels={...} membolehkan anda menyenaraikannya sendiri.

Kontur berisi bagi fungsi dua puncak

LaTeXMukadimah: \usepackage{pgfplots}Buka dalam editor (dibuka dalam tab baharu)
\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}
Disusun atur oleh Scissor LaTeX: Kontur berisi bagi fungsi dua puncak

Peta haba daripada jadual: matrix plot

Untuk data yang diukur pada grid, matrix plot* melukis satu sel bagi setiap baris jadual. mesh/cols menyatakan bilangan lajur grid, dan point meta=explicit dengan meta= menamakan lajur nilai.

Grid nilai 3 kali 3

LaTeXMukadimah: \usepackage{pgfplots}Buka dalam editor (dibuka dalam tab baharu)
\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}

Garis kontur

Garis tanpa isian memerlukan aras kontur yang dikira untuk anda. Dalam pgfplots itu ialah contour gnuplot atau contour lua, yang memerlukan program tambahan atau LuaLaTeX dalam pemasangan TeX. Scissor LaTeX mengira garis itu sendiri dan melukisnya, serta mengingatkan anda dalam tab Masalah bahawa kod itu mungkin tidak dikompil di tempat lain.

Garis kontur dengan contour gnuplot

LaTeXMukadimah: \usepackage{pgfplots}Buka dalam editor (dibuka dalam tab baharu)
\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}

Tab Masalah: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere

Untuk fail yang dikompil di mana-mana sahaja, gunakan contour filled, atau contour prepared dengan data kontur yang telah dikira terlebih dahulu.

Peta warna dan bar warna

PilihanFungsinyaDalam Scissor LaTeX
colormap/viridis, /hot, /cool, /jet, /blackwhite, /blueredpeta warna terbina dalamBerfungsi
colormap name=viridismemilih peta mengikut namaBerfungsi
colormap={name}{rgb255=(..) rgb255=(..)}peta anda sendiriBerfungsi
colorbar, colorbar horizontalskala di sebelah atau di bawah plotBerfungsi
colorbar style={..}tanda dan label bar warnaBerfungsi
point meta min, point meta maxmenetapkan julat warnaBerfungsi
shader=flat, shader=interp, shader=facetedcara sel diwarnakanBerfungsi

Peta warna tersuai dan bar warna mendatar

LaTeXMukadimah: \usepackage{pgfplots}Buka dalam editor (dibuka dalam tab baharu)
\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}
Disusun atur oleh Scissor LaTeX: Peta warna tersuai dan bar warna mendatar

Paparan 3D

Scissor LaTeX melukis \addplot3 hanya seperti dilihat tepat dari atas. Sebarang view lain, termasuk paparan 3D lalai, membiarkan paksi kosong dan menunjukkan mesej.

Paparan 3D tidak dilukis

LaTeXMukadimah: \usepackage{pgfplots}Buka dalam editor (dibuka dalam tab baharu)
\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}

Tab Masalah: 3D plots are drawn only when seen from above (view={0}{90}) for now

Perbezaan dengan pemasangan TeX

Manual pgfplots meliputi \addplot3, peta warna dan kontur secara terperinci: ctan.org/pkg/pgfplots.

Lihat juga Asas pgfplots, Paksi logaritma dan pgfplots.

Soalan dan jawapan

Bagaimanakah cara membuat peta haba dalam LaTeX?

Gunakan \addplot3[surf, shader=interp] {f(x,y)}; (atau matrix plot* untuk data jadual) dalam paksi dengan view={0}{90}, dan tambah colorbar.

Adakah Scissor LaTeX melukis plot permukaan 3D?

Belum lagi. \addplot3 hanya dilukis apabila dilihat dari atas (view={0}{90}); paparan lain membiarkan paksi kosong dan tab Masalah menyatakannya.

Mengapakah contour gnuplot menunjukkan amaran?

Dalam pemasangan TeX ia memerlukan gnuplot dan shell escape. Scissor LaTeX tetap melukis kontur, tetapi memberi amaran bahawa kod itu mungkin tidak dikompil di tempat lain. contour filled dikompil di mana-mana sahaja.

Setiap contoh di halaman ini disusun atur oleh Scissor LaTeX semasa laman dibina. Kali terakhir dikemas kini 2026-11-07.