พื้นฐาน pgfplots: กราฟใน LaTeX พร้อมตัวอย่าง
โหลด pgfplots เปิด tikzpicture ที่มี axis อยู่ข้างใน แล้วเพิ่มข้อมูลแต่ละชุดด้วย \addplot ในรูปรายการพิกัดหรือสูตร
กราฟที่เล็กที่สุด
กราฟ pgfplots ทุกกราฟมีสามชั้นเหมือนกัน ได้แก่ tikzpicture, axis ที่อยู่ข้างใน และ \addplot หนึ่งคำสั่งต่อข้อมูลหนึ่งชุด โหลดแพ็กเกจด้วย \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
\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 จึงมีผลกับทั้งกราฟ
ป้ายกำกับแกน ชื่อกราฟ คำอธิบายสัญลักษณ์ และเส้นตาราง
\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}ป้ายกำกับเป็นข้อความ คณิตศาสตร์จึงต้องอยู่ระหว่าง $ ... $ เหมือนในย่อหน้า \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 west | north 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 พร้อมคำบรรยาย
\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.\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