Matplotlib ระดับกลาง

บันทึกรูป: savefig, DPI และขนาด

บันทึกกราฟเป็น PNG หรือ SVG ด้วย fig.savefig และควบคุมขนาด ความละเอียด และขอบ

บทนำ

ถ้าจะใช้กราฟในรายงานหรือบนเว็บไซต์ ให้บันทึกเป็นไฟล์ figsize กำหนดขนาดเป็นนิ้ว dpi กำหนดจำนวนพิกเซลต่อนิ้ว และ bbox_inches="tight" ตัดขอบว่างรอบกราฟออก

รูปมีขนาด figsize × dpi พิกเซล คือกว้าง 6 × 150 = 900 และสูง 4 × 150 = 600 พิกเซล PNG ประกอบด้วยพิกเซล ถ้าจะพิมพ์จึงควรใช้ dpi สูงขึ้น ส่วน SVG ประกอบด้วยรูปทรงจึงคมชัดทุกขนาด bbox_inches="tight" ตัดขอบขาว และ transparent=True จะเอาพื้นหลังออก ในตัวแก้ไขออนไลน์ ไฟล์ที่บันทึกจะปรากฏใน workspace ของคุณ

ตัวแสดงภาพแบบโต้ตอบ

เปลี่ยนขนาดเป็นนิ้วและ dpi แล้วดูขนาดพิกเซลของรูปที่บันทึกเปลี่ยนตาม

ตัวอย่าง Matplotlib ที่รันได้

Matplotlib
รันโค้ด →
main.py
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(6, 4))
ax.plot([1, 2, 3, 4], [3, 1, 4, 2], marker="o")
ax.set_title("Saved with savefig")

fig.savefig("chart.png", dpi=150, bbox_inches="tight")
fig.savefig("chart.svg")
print("Saved chart.png and chart.svg")
plt.show()
สร้างปุ่ม Run สำหรับตัวอย่างนี้ กราฟที่โค้ดนี้วาด
บันทึกรูป: savefig, DPI และขนาด