رفتن به محتوا

منحنی تراز، نقشهٔ حرارتی و نقشهٔ رنگ

از \addplot3 در یک محور با view={0}{90} استفاده کنید: surf یا matrix plot برای نقشهٔ حرارتی، contour filled برای منحنی‌های تراز پرشده، و برای مقیاس colorbar و یک colormap اضافه کنید.

نقشهٔ حرارتی یک تابع

\addplot3 تابعی از x و y را رسم می‌کند. اگر از بالا دیده شود (view={0}{90})، نمودار surf به نقشهٔ حرارتی تبدیل می‌شود: هر خانه بر اساس مقدارش از طریق نقشهٔ رنگ رنگ می‌گیرد. shader=interp رنگ‌ها را نرم در هم می‌آمیزد؛ shader=flat برای هر خانه یک رنگ می‌دهد.

نقشهٔ حرارتی نرم با نوار رنگ

\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}
حروف‌چینی با Scissor LaTeX: نقشهٔ حرارتی نرم با نوار رنگ

domain بازهٔ x را تعیین می‌کند، y domain بازهٔ y را، و samples اندازهٔ شبکه را (به طور پیش‌فرض 25؛ samples y برای تعداد متفاوت در y).

منحنی‌های تراز پرشده

contour filled مقدارها را به نوارهایی تقسیم می‌کند. number= تعداد ترازها را تعیین می‌کند؛ با levels={...} خودتان آن‌ها را فهرست می‌کنید.

منحنی‌های تراز پرشدهٔ یک تابع دوقله‌ای

\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}
حروف‌چینی با Scissor LaTeX: منحنی‌های تراز پرشدهٔ یک تابع دوقله‌ای

نقشهٔ حرارتی از یک جدول: matrix plot

برای داده‌های اندازه‌گیری‌شده روی یک شبکه، matrix plot* برای هر سطر جدول یک خانه می‌کشد. mesh/cols می‌گوید شبکه چند ستون دارد و point meta=explicit همراه با meta= ستون مقدار را نام می‌برد.

شبکه‌ای 3 در 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}

خطوط تراز

خطوط بدون پرشدگی به ترازهایی نیاز دارند که برایتان محاسبه شوند. در pgfplots این کار با contour gnuplot یا contour lua انجام می‌شود که در یک نصب TeX به برنامه‌های اضافی یا LuaLaTeX نیاز دارند. Scissor LaTeX خودش خطوط را محاسبه می‌کند و می‌کشد، و در زبانهٔ مشکلات یادآوری می‌کند که این کد ممکن است جای دیگری کامپایل نشود.

خطوط تراز با 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}

زبانهٔ مشکلات: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere

برای فایلی که همه‌جا کامپایل شود، از contour filled استفاده کنید، یا از contour prepared با داده‌های تراز از پیش محاسبه‌شده.

نقشه‌های رنگ و نوارهای رنگ

گزینهکارشدر Scissor LaTeX
colormap/viridis، /hot، /cool، /jet، /blackwhite، /blueredنقشه‌های رنگ داخلیکار می‌کند
colormap name=viridisانتخاب یک نقشه با نامکار می‌کند
colormap={name}{rgb255=(..) rgb255=(..)}نقشهٔ دلخواه خودتانکار می‌کند
colorbar، colorbar horizontalمقیاسی کنار یا زیر نمودارکار می‌کند
colorbar style={..}درجه‌ها و برچسب‌های نوار رنگکار می‌کند
point meta min، point meta maxثابت کردن بازهٔ رنگکار می‌کند
shader=flat، shader=interp، shader=facetedنحوهٔ رنگ گرفتن خانه‌هاکار می‌کند

یک نقشهٔ رنگ سفارشی و نوار رنگ افقی

\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}
حروف‌چینی با Scissor LaTeX: یک نقشهٔ رنگ سفارشی و نوار رنگ افقی

نماهای سه‌بعدی

Scissor LaTeX \addplot3 را فقط از نمای مستقیم بالا می‌کشد. هر view دیگری، از جمله نمای سه‌بعدی پیش‌فرض، محور را خالی می‌گذارد و یک پیام نشان می‌دهد.

نمای سه‌بعدی کشیده نمی‌شود

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

زبانهٔ مشکلات: 3D plots are drawn only when seen from above (view={0}{90}) for now

تفاوت‌ها با یک نصب TeX

راهنمای pgfplots \addplot3، نقشه‌های رنگ و منحنی‌های تراز را با جزئیات پوشش می‌دهد: ctan.org/pkg/pgfplots.

همچنین ببینید: مبانی pgfplots، محورهای لگاریتمی و pgfplots.

پرسش و پاسخ

چطور در LaTeX نقشهٔ حرارتی بسازم؟

از \addplot3[surf, shader=interp] {f(x,y)}; (یا برای دادهٔ جدولی matrix plot*) در محوری با view={0}{90} استفاده کنید و colorbar را اضافه کنید.

آیا Scissor LaTeX نمودارهای سطح سه‌بعدی می‌کشد؟

هنوز نه. \addplot3 فقط وقتی از بالا دیده شود (view={0}{90}) کشیده می‌شود؛ نماهای دیگر محور را خالی می‌گذارند و زبانهٔ مشکلات این را می‌گوید.

چرا contour gnuplot یک هشدار نشان می‌دهد؟

در یک نصب TeX به gnuplot و shell escape نیاز دارد. Scissor LaTeX در هر حال منحنی‌های تراز را می‌کشد، اما هشدار می‌دهد که کد ممکن است جای دیگری کامپایل نشود. contour filled همه‌جا کامپایل می‌شود.

هر مثال این صفحه هنگام ساخت سایت با Scissor LaTeX حروف‌چینی می‌شود. آخرین به‌روزرسانی: 2026-11-07.