Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. วิธาตั้งชื่อเส้นกราฟหลายเส้นใน Legend เดียวกันใน Matplotlib

    การตั้งชื่อ (Label) ให้เส้นกราฟหลายเส้นเพื่อแสดงใน Legend เดียวกัน ใน Matplotlib ทำได้โดยระบุพารามิเตอร์ label ในเมธอด plot() แล้วเรียก legend() วิธีพื้นฐาน import matplotlib.pyplot as plt import numpy as np plt.rcParams[figure.figsize] = [10, 6] plt.rcParams[figure.autolayout] = True x = np.lins

  2. วิธีทำให้ Axes ใส (Transparent) ใน Matplotlib

    การทำให้ Axes (พื้นที่วาดกราฟ) ใสหรือโปร่งแสง ใน Matplotlib ทำได้โดยตั้งค่า Alpha (Transparency) ของ Patch (พื้นหลัง Axes) ด้วย set_alpha() วิธีการ สร้าง Figure และ Axes เข้าถึง Patch ของ Axes ผ่าน ax.patch ใช้ ax.patch.set_alpha(0.0) (ใสเต็มที่) หรือค่าระหว่าง 0-1 หากมีหลาย Axes ใ

  3. วิธีปิดการแสดง Scientific Notation บนแกน Y ใน Seaborn/Matplotlib

    เมื่อค่าบนแกน Y ใหญ่มากหรือเล็กมาก Matplotlib จะแสดงเป็น Scientific Notation (เช่น 1e6, 5e-3) ซึ่งอ่านยาก สามารถปิดได้ด้วย ticklabel_format(style=plain) หรือใช้ ScalarFormatter วิธีที่ 1: ใช้ ticklabel_format() (ง่ายที่สุด) import matplotlib.pyplot as plt import seaborn as sns import pandas as pd i

  4. การทำงานของ Matplotlib.pyplot.quiver อย่างละเอียด

    matplotlib.pyplot.quiver() ใช้สำหรับวาด Vector Field (สนามเวกเตอร์) โดยแสดงลูกศรที่แต่ละจุด (X, Y) ชี้ไปในทิศทาง (U, V) ความเข้าใจพารามิเตอร์สำคัญคือ angles, scale_units, scale Signature และพารามิเตอร์หลัก quiver(X, Y, U, V, angles=uv, scale_units=xy, scale=1, width=None, headwidth=

  5. การวาด Time Series 2 ชุดบนกราฟเดียวพร้อม Legend และ Secondary Y-axis

    การวาด Time Series 2 ชุดที่มีมาตราสเกลต่างกันบนกราฟเดียว ใช้ Secondary Y-axis (Twin Axes) ใน Pandas/Matplotlib พร้อมรวม Legend จากทั้ง 2 แกน ขั้นตอนหลัก สร้าง DataFrame พร้อม DatetimeIndex Plot ชุดแรกบน Axes หลัก (ax1) Plot ชุดที่สองด้วย secondary_y=True สร้าง ax2 อัตโนมัติ รวม Leg

  6. การวาด Vector Field 3D บน Axes ด้วย Matplotlib

    การแสดง Vector Field (สนามเวกเตอร์) 3 มิติใน Matplotlib ใช้ quiver() บน Axes 3D (mplot3d) โดยระบุตำแหน่ง (X, Y, Z) และองค์ประกอบเวกเตอร์ (U, V, W) ขั้นตอน Import Axes3D จาก mpl_toolkits.mplot3d สร้าง Grid 3D ด้วย np.meshgrid() คำนวณ Vector Components (U, V, W) ที่แต่ละจุด ใช้ ax.qu

  7. วิธีกำหนด Line Style แบบลูกศร (Arrow-like) ใน Matplotlib

    การวาดเส้นที่มีลูกศรชี้ทิศทาง (Arrow-like Line Style) ใน Matplotlib ทำได้ด้วยเมธอด quiver() ซึ่งออกแบบมาสำหรับ Vector Field แต่ใช้วาดเส้นทางกับลูกศรได้ดี หลักการ quiver() quiver(X, Y, U, V) วาดลูกศรจากจุด (X, Y) ไปยัง (X+U, Y+V) โดย: X, Y: ตำแหน่งเริ่มต้นลูกศร U, V: เวกเตอร์ทิศทาง/ความยาว

  8. วิธีวางจุดกำเนิด (Origin) ไว้กลางเส้นโค้ง Cosine ใน Matplotlib

    โดยปกติ Axes ของ Matplotlib จะอยู่ที่มุมซ้ายล่าง สามารถย้าย Spines (ขอบกราฟ) ให้จุดกำเนิด (0,0) อยู่กลางกราฟได้ เพื่อแสดงฟังก์ชันคณิตศาสตร์อย่างชัดเจน หลักการ: การปรับ Spines Spines คือ 4 ขอบของ Axes: top, bottom, left, right ใช้ set_position(zero) ย้ายไปที่ 0 และ set_color(none) ซ่อน Spines ที่ไม่

  9. การใช้ขนาดฟอนต์หลายขนาดใน Label เดียวของ Matplotlib

    Matplotlib ไม่รองรับการตั้งค่า Font Size หลายขนาดใน String เดียวโดยตรง แต่สามารถทำได้ด้วย Mathtext (LaTeX-like syntax) หรือใช้ TextArea + HPacker จาก matplotlib.offsetbox วิธีที่ 1: ใช้ Mathtext (ง่ายที่สุด) ใช้ Syntax แบบ LaTeX ภายใน String: $\\bf{Text}$, $\\large{Text}$, $\\small{Text}$ import nu

  10. วิธีสร้าง Animation ของ Colorbar ใน Matplotlib

    การทำ Animation ของ Colorbar ใน Matplotlib ต้องอัปเดตทั้ง Image Data (imshow) และ Colorbar ให้ซิงค์กันในแต่ละเฟรม โดยใช้ FuncAnimation และสร้าง Colorbar ใหม่หรืออัปเดต Colormap ทุกเฟรม หลักการ สร้าง Figure และ Axes หลัก ใช้ make_axes_locatable สร้าง Axes สำหรับ Colorbar (cax) สร้าง ims

  11. วิธีวาดเส้น/ลูกศรนอกพื้นที่ Axes ใน Matplotlib

    การวาดเส้นหรือลูกศรที่ล้นออกนอกพื้นที่ Axes (Data Area) ใน Matplotlib สามารถทำได้โดยใช้ annotate() พร้อมระบุ xycoords และ xytext ในระบบพิกัดที่ต่างกัน หลักการ xycoords=axes fraction: พิกัดสัมพัทธ์กับ Axes (0,0 = มุมซ้ายล่าง, 1,1 = มุมขวาบน) xytext: ตำแหน่งปลายลูกศร/ข้อความ arrowprops:

  12. การใช้ Matplotlib Pyplot โดยไม่ต้องมี Display (Headless Mode)

    ในสภาพแวดล้อมที่ไม่มีหน้าจอ (Headless Server, Docker, CI/CD, SSH ไม่มี X11 Forwarding) ใช้ Matplotlib ได้โดยตั้งค่า Backend เป็น Agg (Non-interactive Backend) และบันทึกไฟล์ด้วย savefig() วิธีการตั้งค่า Backend วิธีที่ 1: ตั้งค่าก่อน Import pyplot (แนะนำ) import matplotlib matplotlib.use(Agg) # ต้อ

  13. การวาด Multi-Index DataFrame พร้อม Xticks ทั้งหมดใน Matplotlib

    เมื่อ Plot DataFrame ที่มี MultiIndex (เช่น Year-Month) บนแกน X โดยปกติ Matplotlib จะแสดง Tick ไม่ครบทุกค่า ต้องตั้งค่า set_xticks() และ set_xticklabels() เองเพื่อแสดง Label ทุกตัว ขั้นตอน สร้าง DataFrame พร้อม MultiIndex (Year, Month) Plot ด้วย df.plot() ใช้ ax.set_xticks(range(len(df

  14. วิธีกำหนดความหนาขอบ Legend Frame ใน Matplotlib

    การปรับความหนาขอบกรอบ Legend (Legend Frame) ใน Matplotlib ทำได้โดยเข้าถึง Legend Object แล้วใช้เมธอด set_linewidth() หรือปรับผ่าน get_frame() วิธีที่ 1: ใช้ get_frame().set_linewidth() (แนะนำ) import numpy as np import matplotlib.pyplot as plt plt.rcParams[figure.figsize] = [10, 6] plt.rcParams[fi

  15. การลบเส้นแนวนอนในภาพด้วย OpenCV และ Matplotlib

    การลบเส้นแนวนอน (Horizontal Lines) ออกจากภาพ เช่น ใบเสร็จ เอกสารสแกน หรือตาราง สามารถทำได้ด้วย Morphological Operations ใน OpenCV โดยใช้ Kernel แนวนอน อัลกอริธึมหลัก อ่านภาพและแปลงเป็น Grayscale Thresholding (Binary Inverse + Otsu) เพื่อแยกเส้นสีดำบนพื้นขาว สร้าง Horizontal Kernel (กว้

  16. วิธีทำให้ Legend Keys หลายอันชี้ไปยัง Entry เดียวใน Matplotlib

    เมื่อต้องการให้ Legend Key หลายรูปแบบ (เช่น เส้นและจุด) แสดงใน Legend Entry เดียวกัน ใช้ HandlerTuple จาก matplotlib.legend_handler ร่วมกับการจัดกลุ่ม Artist เป็น Tuple หลักการ Plot เส้น/จุดแยกกันได้ Artist หลายตัว จัดกลุ่ม Artist ที่ต้องการให้อยู่ Entry เดียวเป็น Tuple: (artist1, artist2)

  17. การวาด Multiple Time-Series DataFrames บนกราฟเดียวด้วย Pandas และ Matplotlib

    Pandas มีเมธอด plot() ในตัวที่ทำให้วาด Time-Series หลายชุดบนกราฟเดียวได้ง่าย รองรับ Secondary Y-axis สำหรับข้อมูลที่มقياسต่างกัน ขั้นตอนหลัก สร้าง DataFrame พร้อม Datetime Index ใช้ df.plot() วาดหลายคอลัมน์พร้อมกัน ใช้ secondary_y สำหรับคอลัมน์ที่ต้องการแกน Y ด้านขวา จัดการ Legend

  18. รายชื่อ Colormap ที่ใช้ได้ใน plt.cm.get_cmap และ plt.colormaps()

    Matplotlib มี Colormap (แผนที่สี) สำเร็จรูปมากมาย สามารถดูรายชื่อทั้งหมดได้ผ่าน plt.colormaps() (Matplotlib 3.5+) หรือ plt.cm.datad.keys() (เวอร์ชันเก่า) วิธีดูรายชื่อ Colormap ทั้งหมด import matplotlib.pyplot as plt # Matplotlib 3.5+ cmaps = plt.colormaps() print(fTotal colormaps: {len(cmaps)}) f

  19. วิธีบังคับให้ Error Bars วาดทีหลังสุดใน Matplotlib

    ใน Matplotlib ลำดับการวาด (Drawing Order / Z-order) กำหนดว่าออบเจ็กต์ไหนอยู่บนหรือใต้ โดยปกติ Object ที่ Plot ทีหลังจะอยู่ด้านบน หากต้องการให้ Error Bars อยู่ด้านบนสุด (วาดทีหลังสุด) ให้ Plot Error Bars หลังจาก Plot ข้อมูลอื่นๆ เสร็จแล้ว วิธีการ เรียก ax.errorbar() หลังจาก Plot เส้น/จุดข้อมูลอื่นๆ

  20. การเติมสีพื้นที่ใต้เส้นโค้งบนมาตราสเกล Log Scale ใน Matplotlib

    การเติมสีพื้นที่ระหว่างเส้นโค้งสองเส้น (Fill Between) บนมาตราสเกล Logarithmic Scale ใน Matplotlib ต้องระวังเรื่องค่าศูนย์และค่าลบ เนื่องจาก Log Scale ไม่รองรับค่า ≤ 0 ขั้นตอนและข้อควรระวัง 0) ใช้ plt.fill_between() เติมสีระหว่างโค้ง ตั้งค่า Scale ด้วย plt.xscale(log) และ plt.yscale(lo

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:296/451  20-คอมพิวเตอร์/Page Goto:1 290 291 292 293 294 295 296 297 298 299 300 301 302