PyCharm โดยค่าเริ่มต้นใช้ Backend แบบ Static (Inline) ทำให้ Plot ไม่โต้ตอบได้ ใช้ mpl.use('Qt5Agg') เพื่อเปลี่ยน Backend เป็น Qt5 ที่รองรับ Interactive
ขั้นตอน
- ตั้งค่าขนาด Figure
- ตั้งค่า Backend ด้วย
mpl.use('Qt5Agg')(ต้องทำก่อน import pyplot) - Plot ข้อมูล
- แสดงผลด้วย
plt.show()
ตัวอย่างโค้ด
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# ต้องเรียกก่อน import pyplot หรือ plt
mpl.use('Qt5Agg')
plt.plot(range(10))
plt.show()
Backend อื่นๆ ที่ใช้ได้
| Backend | คำอธิบาย |
|---|---|
Qt5Agg | Qt5 - Interactive, ต้องติดตั้ง PyQt5 |
TkAgg | Tkinter - Interactive, มาพร้อม Python |
wxAgg | wxWidgets - Interactive |
MacOSX | macOS Native - Interactive |
Agg | Non-interactive (Default สำหรับไฟล์) |
การตั้งค่าใน PyCharm
- File → Settings → Tools → Python Scientific
- ติ๊ก "Show plots in tool window"
- หรือเพิ่มในโค้ด:
import matplotlib; matplotlib.use('module://backend_interagg')
ผลลัพธ์
หน้าต่าง Plot แบบ Interactive เปิดขึ้นมา สามารถ Zoom, Pan, Save ได้