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

ภาพวาดด้วย TikZ

ภายใน tikzpicture ให้เขียนคำสั่งเส้นทาง เช่น \draw (0,0) -- (2,1);, \draw (1,1) circle (0.5); หรือ \fill[blue] (0,0) rectangle (1,1); โดยแต่ละคำสั่งลงท้ายด้วยอัฒภาค

เส้นและพิกัด

โหลด TikZ ด้วย \usepackage{tikz} ภาพวาดอยู่ใน tikzpicture \draw ลากเส้นตามเส้นทาง และ -- เชื่อมจุดด้วยเส้นตรง พิกัดธรรมดาอย่าง (2,1) มีหน่วยเป็นเซนติเมตร

เส้นหลายช่วง สามเหลี่ยมปิด และเส้นตาราง

LaTeXส่วนนำ: \usepackage{tikz}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \draw[help lines] (0,0) grid (5,3);
  \draw[thick] (0,0) -- (1,2) -- (2,1) -- (3,2.5);
  \draw[blue, fill=blue!15] (3.5,0.5) -- (5,0.5) -- (4.25,2) -- cycle;
\end{tikzpicture}

-- cycle ปิดเส้นทางกลับไปยังจุดเริ่มต้น การเติมสีจึงได้มุมที่เรียบร้อย

รูปทรง

เส้นทางวาด
(0,0) rectangle (2,1)สี่เหลี่ยมจากมุมหนึ่งไปยังอีกมุมหนึ่ง
(1,1) circle (0.5) หรือ circle[radius=0.5]วงกลมรอบจุดศูนย์กลาง
(1,1) ellipse (1 and 0.5)วงรีที่มีรัศมีสองค่า
(1,0) arc (0:90:1) หรือ arc[start angle=0, end angle=90, radius=1]ส่วนโค้งจากจุดปัจจุบัน
(0,0) grid (3,2)เส้นตารางห่างกัน 1 cm (step=0.5 สำหรับระยะอื่น)
(0,0) .. controls (1,1) and (2,1) .. (3,0)เส้นโค้งเบซิเยร์
(0,0) to[out=90, in=180] (2,2)เส้นโค้งที่ออกและเข้าตามมุมที่กำหนด

สี่เหลี่ยม วงกลม วงรี ส่วนโค้ง และเส้นโค้ง

LaTeXส่วนนำ: \usepackage{tikz}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \draw[rounded corners, fill=yellow!30] (0,0) rectangle (2,1.2);
  \draw[red, fill=red!20] (3,0.6) circle (0.6);
  \draw[teal, thick] (5,0.6) ellipse (0.9 and 0.5);
  \draw[->, thick] (7.2,0) arc (0:90:1);
  \draw[purple, thick] (0,-1.5) .. controls (1,0) and (2,-3) .. (3,-1.5);
  \draw[orange, thick] (4,-2) to[out=90, in=180] (6,-1);
\end{tikzpicture}

สี ความหนาเส้น และเส้นประ

ตัวเลือกในวงเล็บเหลี่ยมกำหนดสไตล์ของเส้นทาง ชื่อสีเปล่า ๆ กำหนดสีเส้น fill= เติมสีในรูปทรง และ \fill เติมสีโดยไม่มีเส้นขอบ ส่วน \filldraw ทำทั้งสองอย่าง

ความหนาเส้น รูปแบบเส้นประ สี และความทึบ

LaTeXส่วนนำ: \usepackage{tikz}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \draw[ultra thin]  (0,2) -- (3,2);
  \draw[thick]       (0,1.6) -- (3,1.6);
  \draw[line width=3pt, blue!60] (0,1.2) -- (3,1.2);
  \draw[dashed]      (0,0.8) -- (3,0.8);
  \draw[dotted, thick] (0,0.4) -- (3,0.4);
  \draw[dash pattern=on 6pt off 2pt on 1pt off 2pt] (0,0) -- (3,0);
  \fill[green!50!black] (4,1) circle (0.5);
  \filldraw[fill=orange, draw=black, opacity=0.6] (4.5,0.6) rectangle (5.5,1.6);
  \draw[<->, red, thick] (4,-0.2) -- (6,-0.2);
\end{tikzpicture}

สีเป็นชื่อสีใดก็ได้ของ xcolor (red, teal, violet ...) สีผสมอย่าง blue!30!white หรือสีที่คุณกำหนดเองด้วย \definecolor{mine}{HTML}{0072B2}

การไล่เฉดสี

\shade เติมรูปทรงด้วยสีไล่เฉด: left color และ right color (หรือ top color และ bottom color) สำหรับแบบเส้นตรง inner color และ outer color สำหรับแบบรัศมี และ ball color สำหรับทรงกลมที่มีแสงตกกระทบ

การไล่เฉดแบบเส้นตรง แบบรัศมี และแบบลูกบอล

LaTeXส่วนนำ: \usepackage{tikz}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \shade[left color=blue!60, right color=white] (0,0) rectangle (2.5,1);
  \shade[top color=orange, bottom color=yellow] (3,0) rectangle (4,1);
  \shade[inner color=white, outer color=teal] (5.2,0.5) circle (0.5);
  \shade[ball color=red] (6.7,0.5) circle (0.5);
\end{tikzpicture}

การทำซ้ำด้วย foreach

\foreach ทำคำสั่งซ้ำสำหรับแต่ละค่าในรายการ {0,1,...,5} จะเติมขั้นที่อยู่ระหว่างกลางให้ ตัวแปรของลูปใช้ในพิกัด สี และข้อความได้

วงกลมและป้ายกำกับจากลูป

LaTeXส่วนนำ: \usepackage{tikz}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \foreach \i in {0,1,...,5} {
    \draw[fill=blue!\i0] (1.2*\i,0) circle (0.45);
    \node at (1.2*\i,-0.8) {$\i$};
  }
  \foreach \a in {0,45,...,315}
    \draw[->] (9,0) -- ++(\a:0.9);
\end{tikzpicture}

(\a:0.9) เป็นพิกัดเชิงขั้ว คือมุมและระยะทาง ส่วน ++ ทำให้พิกัดเป็นแบบสัมพัทธ์กับจุดก่อนหน้า

scope และการแปลง

scope ใช้ตัวเลือกกับทุกอย่างที่อยู่ข้างใน ทั้งสี สไตล์เส้น และการแปลงอย่าง shift, rotate, scale, xscale และ yscale

สี่เหลี่ยมเดียวกัน ที่ถูกเลื่อน หมุน และย่อขยาย

LaTeXส่วนนำ: \usepackage{tikz}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{tikzpicture}
  \draw (0,0) rectangle (1,1);
  \begin{scope}[shift={(2,0)}, rotate=30, red]
    \draw (0,0) rectangle (1,1);
  \end{scope}
  \begin{scope}[shift={(4,0)}, scale=0.5, blue, thick]
    \draw (0,0) rectangle (1,1);
  \end{scope}
  \begin{scope}[shift={(5.5,0)}, xscale=2, dashed]
    \draw (0,0) rectangle (1,1);
  \end{scope}
\end{tikzpicture}

ภาพเล็ก ๆ ในข้อความ

\tikz วาดภาพเล็ก ๆ ภายในย่อหน้า เช่น จุดสีข้างคำ ให้เขียนเส้นทางต่อจากคำสั่งทันที และลงท้ายด้วยอัฒภาค

\tikz ภายในประโยค

LaTeXส่วนนำ: \usepackage{tikz}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
Status: \tikz \fill[green!60!black] (0,0) circle (3pt); running,
\tikz \fill[red] (0,0) circle (3pt); stopped.

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

คู่มือ TikZ เป็นส่วนหนึ่งของ PGF บน CTAN: ctan.org/pkg/pgf สำหรับกราฟที่มีแกน ให้ใช้ pgfplots

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

จะวาดวงกลมใน LaTeX ได้อย่างไร

โหลด TikZ แล้วเขียน \begin{tikzpicture} \draw (0,0) circle (1); \end{tikzpicture} ค่าในวงเล็บคือรัศมีในหน่วยเซนติเมตร

พิกัดของ TikZ ใช้หน่วยอะไร

ตัวเลขเปล่า ๆ เป็นเซนติเมตร คุณระบุหน่วยเองก็ได้ เช่น (2pt,1mm) หรือ (1in,0)

จะเติมสีในรูปทรงได้อย่างไร

ใช้ \fill[blue] ...; สำหรับการเติมสีโดยไม่มีเส้นขอบ หรือ \draw[fill=blue!20] ...; สำหรับทั้งสองอย่าง

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