แถบความคลาดเคลื่อนด้วย pgfplots
เพิ่ม error bars/.cd, y dir=both, y explicit ในตัวเลือกของ \addplot แล้วเขียนค่าความคลาดเคลื่อนหลังแต่ละจุดเป็น +- (0, error) หรืออ่านค่าจากคอลัมน์ตารางด้วย y error=
ความคลาดเคลื่อนที่เขียนพร้อมจุด
แถบความคลาดเคลื่อนเปิดใช้ทีละ \addplot คีย์หลัง error bars/.cd บอกว่าจะวาดในทิศทางใดและค่ามาจากที่ใด เมื่อใช้ y explicit แต่ละจุดจะมีค่าความคลาดเคลื่อนของตัวเองหลัง +-
ความคลาดเคลื่อน y แบบสมมาตรจากพิกัด
\begin{tikzpicture}
\begin{axis}[xlabel={Length (m)}, ylabel={Period (s)}]
\addplot+[error bars/.cd, y dir=both, y explicit]
coordinates {
(0.2,0.90) +- (0,0.05)
(0.4,1.27) +- (0,0.04)
(0.6,1.55) +- (0,0.06)
(0.8,1.80) +- (0,0.05)
(1.0,2.01) +- (0,0.07)
};
\end{axis}
\end{tikzpicture}ใน +- (ex, ey) ตัวเลขแรกคือความคลาดเคลื่อนของ x และตัวที่สองคือของ y ระบบจะวาดเฉพาะทิศทางที่คุณเปิดใช้
ความคลาดเคลื่อนจากคอลัมน์ตาราง
เมื่อข้อมูลเป็นตาราง ให้ระบุคอลัมน์ความคลาดเคลื่อนด้วย y error= วิธีเดียวกันใช้ได้กับไฟล์ เช่น table[x=t, y=v, y error=dv, col sep=comma] {data.csv}
ความคลาดเคลื่อน y ที่อ่านจากคอลัมน์
\begin{tikzpicture}
\begin{axis}[xlabel={Dose}, ylabel={Response}, ymin=0]
\addplot+[only marks, error bars/.cd, y dir=both, y explicit]
table[x=dose, y=mean, y error=sd] {
dose mean sd
1 2.1 0.3
2 3.4 0.4
4 5.0 0.6
8 6.2 0.5
};
\end{axis}
\end{tikzpicture}ความคลาดเคลื่อนด้านเดียวและค่าคงที่
y dir=plus หรือ y dir=minus วาดเฉพาะครึ่งบนหรือครึ่งล่าง แทนที่จะระบุค่าเอง y fixed=0.2 ให้ทุกจุดมีความคลาดเคลื่อนเท่ากัน และ y fixed relative=0.1 ให้ความคลาดเคลื่อนเท่ากับ 10% ของค่าของจุดนั้น
ความคลาดเคลื่อนด้านบนเท่านั้น และความคลาดเคลื่อนสัมพัทธ์
\begin{tikzpicture}
\begin{axis}[ymin=0, legend pos=north west]
\addplot+[error bars/.cd, y dir=plus, y fixed=0.4]
coordinates {(1,2) (2,3) (3,3.5) (4,4.4)};
\addplot+[error bars/.cd, y dir=both, y fixed relative=0.1]
coordinates {(1,1) (2,1.6) (3,2.2) (4,2.5)};
\legend{fixed $\pm 0.4$ (upper), relative 10\%}
\end{axis}
\end{tikzpicture}ความคลาดเคลื่อนด้านบนและด้านล่างต่างกัน
เขียน += (0, up) สำหรับความคลาดเคลื่อนด้านบน และ -= (0, down) สำหรับด้านล่าง
ความคลาดเคลื่อนแบบไม่สมมาตร
\begin{tikzpicture}
\begin{axis}[width=7cm, height=5cm, xmin=0.5, xmax=3.5]
\addplot+[only marks, error bars/.cd, y dir=both, y explicit]
coordinates {
(1,2.0) += (0,0.5) -= (0,0.1)
(2,3.0) += (0,0.2) -= (0,0.6)
(3,2.6) += (0,0.3) -= (0,0.3)
};
\end{axis}
\end{tikzpicture}ความคลาดเคลื่อนในแนว x และ y
เปิดใช้ทั้งสองทิศทางด้วย x dir และ y dir ส่วน error bar style กำหนดสไตล์ของแถบ
แถบความคลาดเคลื่อนทั้งสองทิศทาง
\begin{tikzpicture}
\begin{axis}[xlabel=$x$, ylabel=$y$]
\addplot+[only marks, mark=square*,
error bars/.cd,
x dir=both, x explicit,
y dir=both, y explicit,
error bar style={red, thick}]
coordinates {
(1.0,1.2) +- (0.15,0.20)
(2.0,2.1) +- (0.20,0.15)
(3.0,2.8) +- (0.10,0.30)
};
\end{axis}
\end{tikzpicture}แถบความคลาดเคลื่อนแบบพื้นที่ด้วย fill between
สำหรับความไม่แน่นอนแบบต่อเนื่อง ให้แรเงาพื้นที่ระหว่างเส้นโค้งบนและล่าง โหลดไลบรารี fillbetween ตั้งชื่อเส้นโค้งทั้งสองด้วย name path แล้วเติมสีระหว่างเส้นทั้งสอง
แถบแรเงารอบเส้นโค้ง
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:4, samples=40, xlabel=$t$, ylabel=$y$]
\addplot[name path=upper, draw=none] {exp(-0.5*x) + 0.1 + 0.05*x};
\addplot[name path=lower, draw=none] {exp(-0.5*x) - 0.1 - 0.05*x};
\addplot[blue!20] fill between[of=upper and lower];
\addplot[blue, thick] {exp(-0.5*x)};
\end{axis}
\end{tikzpicture}
\end{document}ตัวเลือกของแถบความคลาดเคลื่อน
| ตัวเลือก | ทำอะไร | ใน Scissor LaTeX |
|---|---|---|
y dir=both, plus, minus, none | ครึ่งใดของแถบที่จะวาด (รวมถึง x dir) | ใช้ได้ |
y explicit, x explicit | ความคลาดเคลื่อนจาก +- ในพิกัดหรือจากคอลัมน์ตาราง | ใช้ได้ |
y error=col, x error=col, y error index=n | คอลัมน์ตารางที่มีค่าความคลาดเคลื่อน | ใช้ได้ |
+= (ex,ey), -= (ex,ey) | ความคลาดเคลื่อนด้านบนและด้านล่างแยกกันในพิกัด | ใช้ได้ |
y fixed=v, y fixed relative=r | ความคลาดเคลื่อนเท่ากันสำหรับทุกจุด | ใช้ได้ |
error bar style={..} | สีและความหนาเส้นของแถบ | ใช้ได้ |
error mark=.., error mark options={..} | หัวปิดที่ปลายแต่ละด้าน | ยอมรับ แต่หัวปิดเป็นเส้นสั้นเสมอ |
สิ่งที่ต่างจากการติดตั้ง TeX
คู่มือ pgfplots อธิบายแถบความคลาดเคลื่อนไว้ในหัวข้อ error bars: ctan.org/pkg/pgfplots
ดูเพิ่มเติม กราฟแท่ง, แผนภาพการกระจาย และ ข้อมูลจาก CSV
คำถามและคำตอบ
จะเพิ่มแถบความคลาดเคลื่อนใน pgfplots ได้อย่างไร
เขียน \addplot+[error bars/.cd, y dir=both, y explicit] coordinates {(1,2) +- (0,0.3) ...}; ตัวเลขที่สองหลัง +- คือความคลาดเคลื่อนของ y
จะอ่านแถบความคลาดเคลื่อนจากไฟล์ CSV ได้อย่างไร
เพิ่ม y error=column ในตัวเลือกของตาราง พร้อม y explicit ในตัวเลือกของแถบความคลาดเคลื่อน: table[x=a, y=b, y error=c, col sep=comma] {file.csv}
แถบความคลาดเคลื่อนด้านบนและด้านล่างต่างกันได้ไหม
ได้ เขียน += (0, up) และ -= (0, down) หลังจุดแทน +- เช่น (1,2) += (0,0.5) -= (0,0.1)
ทุกตัวอย่างในหน้านี้จัดหน้าโดย Scissor LaTeX ขณะสร้างเว็บไซต์ อัปเดตล่าสุด 2026-11-07