ข้ามไปยังเนื้อหา

พื้นฐาน pgfplots: กราฟใน LaTeX พร้อมตัวอย่าง

โหลด pgfplots เปิด tikzpicture ที่มี axis อยู่ข้างใน แล้วเพิ่มข้อมูลแต่ละชุดด้วย \addplot ในรูปรายการพิกัดหรือสูตร

กราฟที่เล็กที่สุด

กราฟ pgfplots ทุกกราฟมีสามชั้นเหมือนกัน ได้แก่ tikzpicture, axis ที่อยู่ข้างใน และ \addplot หนึ่งคำสั่งต่อข้อมูลหนึ่งชุด โหลดแพ็กเกจด้วย \usepackage{pgfplots} ในส่วนนำของเอกสาร

สี่จุดที่เชื่อมด้วยเส้น

LaTeXส่วนนำ: \usepackage{pgfplots}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \begin{axis}
    \addplot coordinates {(0,1) (1,3) (2,2) (3,4)};
  \end{axis}
\end{tikzpicture}

แกนจะเลือกช่วงและขีดแบ่งเองจากข้อมูล \addplot แบบไม่มีตัวเลือกจะได้สีและเครื่องหมายจุดจาก cycle list เริ่มต้น คือสีน้ำเงินกับจุดกลมสำหรับชุดแรก สีแดงกับสี่เหลี่ยมสำหรับชุดที่สอง และต่อไปเรื่อย ๆ

การวาดกราฟจากสูตร

แทนที่จะใช้พิกัด ให้ใส่สูตรในวงเล็บปีกกาให้ \addplot โดย domain กำหนดช่วงของ x และ samples กำหนดจำนวนจุด หากไม่ระบุ pgfplots จะใช้ช่วง -5 ถึง 5 กับ 25 จุด

ฟังก์ชันที่มี domain และ samples

LaTeXส่วนนำ: \usepackage{pgfplots}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \begin{axis}
    \addplot[blue, thick, domain=-2:2, samples=60] {x^3 - 2*x};
  \end{axis}
\end{tikzpicture}

ตัวเลือกในวงเล็บเหลี่ยมหลัง \addplot กำหนดสไตล์ของข้อมูลชุดนั้น เมื่อใส่ตัวเลือกโดยไม่มี + ข้อมูลชุดนั้นจะวาดเป็นสีดำ (หรือสีที่คุณระบุ) โดยไม่มีเครื่องหมายจุด ส่วน \addplot+[...] จะคงสไตล์จาก cycle list ไว้แล้วเพิ่มตัวเลือกของคุณเข้าไป

ป้ายกำกับ ชื่อกราฟ คำอธิบายสัญลักษณ์ และเส้นตาราง

ตัวเลือกเหล่านี้ใส่ไว้ที่ axis จึงมีผลกับทั้งกราฟ

ป้ายกำกับแกน ชื่อกราฟ คำอธิบายสัญลักษณ์ และเส้นตาราง

LaTeXส่วนนำ: \usepackage{pgfplots}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\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}
จัดหน้าโดย Scissor LaTeX: ป้ายกำกับแกน ชื่อกราฟ คำอธิบายสัญลักษณ์ และเส้นตาราง

ป้ายกำกับเป็นข้อความ คณิตศาสตร์จึงต้องอยู่ระหว่าง $ ... $ เหมือนในย่อหน้า \addlegendentry หลัง \addplot แต่ละคำสั่งตั้งชื่อให้ข้อมูลชุดนั้น หรือคุณจะระบุชื่อทั้งหมดไว้ตอนท้ายด้วย \legend{Measured, Model} ก็ได้

ตัวเลือกแกนที่ใช้บ่อย

ตัวเลือกทำอะไรใน Scissor LaTeX
xlabel, ylabel, titleข้อความตามแนวแกนและเหนือกราฟใช้ได้
xmin, xmax, ymin, ymaxกำหนดช่วงที่มองเห็นให้คงที่ใช้ได้
width, heightขนาดของภาพทั้งภาพ เช่น width=\linewidthใช้ได้
grid=major, grid=bothเส้นตารางที่ขีดแบ่งหลัก (และขีดแบ่งย่อย)ใช้ได้
xtick={0,1,2}, xticklabels={a,b,c}เลือกขีดแบ่งและป้ายกำกับใช้ได้
legend pos=north westnorth west, north east, south west, south east, outer north eastใช้ได้
axis lines=leftแกนคู่รูปตัว L พร้อมลูกศรแทนกรอบใช้ได้ (รวมถึง middle, center, none)
enlargelimits=falseไม่มีพื้นที่เผื่อรอบข้อมูลใช้ได้
axis equalมาตราส่วนเท่ากันทั้งสองแกนยังไม่รองรับ: ถูกละเว้นพร้อมข้อความแจ้งในแท็บ Problems

ตัวเลือกอื่น ๆ ส่วนใหญ่จากคู่มือ pgfplots ก็ใช้ได้เช่นกัน หน้ากราฟเส้นแสดงรายการสไตล์และเครื่องหมายจุด ตัวเลือกที่ตัวเรนเดอร์ไม่รู้จักจะถูกละเว้น และแท็บ Problems จะระบุชื่อตัวเลือกนั้น

ขนาดและการจัดวาง

โดยค่าเริ่มต้น กราฟมีขนาดประมาณ 240 x 207 พอยต์ ซึ่งเป็นค่าเริ่มต้นของ pgfplots ตั้งค่า width และ height ที่แกนเพื่อเปลี่ยนขนาด หากต้องการให้กราฟมีคำบรรยายและหมายเลข ให้ใส่ tikzpicture ไว้ใน figure เหมือนกับรูปภาพ

กราฟใน figure พร้อมคำบรรยาย

LaTeXส่วนนำ: \usepackage{pgfplots}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\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.
จัดหน้าโดย Scissor LaTeX: กราฟใน figure พร้อมคำบรรยาย

\resizebox{0.5\linewidth}{!}{...} ที่ครอบ tikzpicture หนึ่งภาพก็ใช้ได้เช่นกัน โดยภาพจะถูกย่อหรือขยายให้เท่าความกว้างนั้น

สิ่งที่ต่างจากการติดตั้ง TeX

ทุกอย่างในหน้านี้คอมไพล์ได้ในการติดตั้ง TeX ที่มี pgfplots เช่นกัน คู่มือฉบับเต็มอยู่บน CTAN: ctan.org/pkg/pgfplots

คำถามและคำตอบ

ต้องติดตั้ง pgfplots ไหม

ไม่ต้อง เขียน \usepackage{pgfplots} ตามปกติ Scissor LaTeX จะรู้จักแพ็กเกจนี้และวาดกราฟเองในเบราว์เซอร์

ทำไมกราฟฟังก์ชันของฉันเป็นเหลี่ยม ๆ

โดยค่าเริ่มต้น pgfplots เชื่อม 25 จุด เพิ่ม samples=100 (หรือมากกว่า) ที่ \addplot หรือที่แกนเพื่อให้เส้นโค้งเรียบขึ้น หรือเพิ่ม smooth เพื่อวาดเส้นโค้งผ่านจุดต่าง ๆ

ใช้ pgfplots โดยไม่มี tikzpicture ได้ไหม

ไม่ได้ ใน LaTeX สภาพแวดล้อม axis ต้องอยู่ภายใน tikzpicture เสมอ Scissor LaTeX ทำตามกฎเดียวกัน โค้ดของคุณจึงคอมไพล์ที่อื่นได้ด้วย

ทุกตัวอย่างในหน้านี้จัดหน้าโดย Scissor LaTeX ขณะสร้างเว็บไซต์ อัปเดตล่าสุด 2026-11-07