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

pgfplots ใน Scissor LaTeX

แพ็กเกจ pgfplots ใช้ได้ใน Scissor LaTeX สำหรับกราฟ 2D ส่วนใหญ่ โดยวาดด้วยตัวเรนเดอร์ของตัวเอง ได้แก่ แกน กราฟเส้น กราฟกระจาย และกราฟแท่ง สูตร ตารางและไฟล์ CSV แกนลอการิทึม แถบความคลาดเคลื่อน คำอธิบายสัญลักษณ์ groupplots, fill between และแผนที่ความร้อนที่มองจากด้านบน ส่วนมุมมอง 3D, axis equal และตารางของ pgfplotstable ยังไม่รองรับ

แพ็กเกจนี้ทำอะไร

pgfplots วาดกราฟจากข้อมูลหรือสูตรภายในภาพ TikZ คุณเปิด \begin{tikzpicture}\begin{axis}[...] เพิ่ม \addplot หนึ่งคำสั่งต่อชุดข้อมูล แล้ว pgfplots จะเลือกขีดบอกค่า คำอธิบายสัญลักษณ์ และสีให้ ตัวเลือกของแพ็กเกจครอบคลุมแกนลอการิทึม กราฟแท่ง แถบความคลาดเคลื่อน แผนที่สี และอื่น ๆ อีกมาก

Scissor LaTeX ไม่ได้รัน pgfplots ตัวจัดเรียงพิมพ์อ่านโค้ดเดียวกันและวาดกราฟเองเป็นกราฟิกเวกเตอร์ โดยใช้ฟอนต์ของเอกสารคุณสำหรับป้ายกำกับ ผลลัพธ์ใกล้เคียงกับค่าเริ่มต้นของ pgfplots และซอร์สคอมไพล์ได้โดยไม่ต้องแก้ไขในการติดตั้ง TeX

สิ่งที่ใช้ได้ที่นี่

ฟีเจอร์ใน Scissor LaTeXเพิ่มเติม
axis พร้อมป้ายกำกับ ชื่อเรื่อง คำอธิบายสัญลักษณ์ เส้นตาราง ขีดบอกค่า และช่วงใช้ได้พื้นฐาน pgfplots
เส้น เครื่องหมาย สี cycle list, smooth, const plotใช้ได้กราฟเส้น
only marks กราฟกระจายใช้ได้กราฟกระจาย
ybar, xbar แท่งซ้อน nodes near coords, symbolic x coordsใช้ได้กราฟแท่ง
error bars/.cd, y explicit, +- (x, y)ใช้ได้แถบความคลาดเคลื่อน
semilogyaxis, loglogaxis, xmode=logใช้ได้แกนลอการิทึม
groupplot พร้อม group style (ไลบรารี groupplots)ใช้ได้กราฟกลุ่ม
\addplot table จากแถวในเอกสารหรือไฟล์ .csv/.dat ในโปรเจกต์ใช้ได้ข้อมูลจาก CSV
\addplot3 พร้อม view={0}{90}: surf, matrix plot, contour filled, colorbarใช้ได้เส้นชั้นความสูงและแผนที่ความร้อน
fill between (ไลบรารี fillbetween), name pathใช้ได้
\pgfplotsset{...} สไตล์ compat=ใช้ได้ทำงานเหมือน compat=1.18 ไม่ว่าจะตั้งค่าเป็นอะไร
\addplot3 กับ view อื่นใด (3D จริง)ไม่รองรับวาดแกนว่างพร้อมข้อความแจ้ง
axis equalไม่รองรับถูกละเว้นพร้อมข้อความแจ้ง แกนยังคงมาตราส่วนของตัวเอง
\pgfplotstabletypeset (pgfplotstable)ไม่รองรับถูกข้ามพร้อมข้อความแจ้ง และชื่อไฟล์ถูกพิมพ์ออกมา
ตัวเลือกที่ไม่รู้จักถูกละไว้ถูกละเว้นพร้อมข้อความแจ้งที่ระบุชื่อตัวเลือก ส่วนที่เหลือยังถูกวาด

ตัวอย่าง

กราฟแท่งพร้อมป้ายค่า:

กราฟแท่งพร้อม nodes near coords

LaTeXส่วนนำ: \usepackage{pgfplots}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \begin{axis}[ybar, bar width=12pt, ymin=0, ymax=52,
      symbolic x coords={Mon,Tue,Wed,Thu}, xtick=data,
      nodes near coords, enlarge x limits=0.2,
      ylabel={Visitors}, width=7cm, height=5cm]
    \addplot coordinates {(Mon,31) (Tue,44) (Wed,38) (Thu,27)};
  \end{axis}
\end{tikzpicture}

สองชุดข้อมูลที่อ่านจากตารางที่เขียนไว้ในเอกสาร พร้อมคำอธิบายสัญลักษณ์:

คอลัมน์ของตารางในเอกสาร

LaTeXส่วนนำ: \usepackage{pgfplots}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \begin{axis}[xlabel={Week}, ylabel={Hours of practice},
      legend pos=north west, width=7cm, height=5cm]
    \addplot table [x=week, y=erika] {
      week erika john
      1    4     2
      2    6     3
      3    5     5
      4    8     6
    };
    \addlegendentry{Erika}
    \addplot table [x=week, y=john] {
      week erika john
      1    4     2
      2    6     3
      3    5     5
      4    8     6
    };
    \addlegendentry{John}
  \end{axis}
\end{tikzpicture}

พื้นผิวที่มองจากมุมเอียงยังไม่ถูกวาด แกนแสดงว่างเปล่า และแท็บปัญหาอธิบายเหตุผล:

มุมมอง 3D ไม่ถูกวาด

LaTeXส่วนนำ: \usepackage{pgfplots}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \begin{axis}[view={60}{30}, width=6cm]
    \addplot3[surf, 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 มาที่นี่: กราฟ 2D ส่วนใหญ่ดูเหมือนที่นั่น ต่างกันไม่เกินหนึ่งหรือสองพอยต์ กราฟ 3D จริง axis equal และตัวเลือกที่อยู่นอกชุดที่รองรับจะถูกระบุชื่อในแท็บปัญหา
  • จากที่นี่ไปยังการติดตั้ง TeX: กราฟคอมไพล์ที่นั่นได้โดยไม่ต้องแก้ไขด้วย pgfplots ส่วน contour lua และ contour gnuplot ต้องใช้ LuaLaTeX หรือ gnuplot ที่นั่น ส่วน contour filled ไม่ต้องใช้ทั้งสองอย่าง

คู่มือฉบับเต็มอยู่บน CTAN: ctan.org/pkg/pgfplots สำหรับภาพวาดที่ไม่มีแกน ดู TikZ

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

ต้องติดตั้ง pgfplots เพื่อใช้ที่นี่หรือไม่

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

ทำไมกราฟ 3D ของฉันจึงว่างเปล่า

ขณะนี้วาดได้เฉพาะกราฟที่มองจากด้านบน (view={0}{90}) มุมมองอื่นจะให้แกนว่างและข้อความแจ้งในแท็บปัญหา

พล็อตข้อมูลจากไฟล์ CSV ได้หรือไม่

ได้ เพิ่มไฟล์ลงในโปรเจกต์แล้วเขียน \addplot table[x=a, y=b, col sep=comma] {file.csv};

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