ฉันกำลังเขียนสคริปต์ที่รวดเร็วและสกปรกเพื่อสร้างแปลงได้อย่างรวดเร็ว ฉันใช้รหัสด้านล่าง (จากเอกสารMatplotlib ) เป็นจุดเริ่มต้น:
from pylab import figure, axes, pie, title, show
# Make a square figure and axes
figure(1, figsize=(6, 6))
ax = axes([0.1, 0.1, 0.8, 0.8])
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]
explode = (0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True)
title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5})
show() # Actually, don't show, just save to foo.png
ฉันไม่ต้องการแสดงพล็อตบน GUI แทนฉันต้องการบันทึกพล็อตไปยังไฟล์ (เช่น foo.png) เพื่อให้สามารถใช้พล็อตสคริปต์ในแบตช์สคริปต์ได้ ฉันจะทำอย่างไร
savefig
วิธีการเช่นกัน เพื่อให้คุณสามารถโทรหาแล้วfig = plt.figure()
fig.savefig(...)
plt.close(fig)
ซึ่งมีความสำคัญอย่างยิ่งในลูปใหญ่ มิฉะนั้นตัวเลขจะยังคงเปิดอยู่และรออยู่ในหน่วยความจำและตัวเลขที่เปิดอยู่ทั้งหมดจะแสดงเมื่อทำการประมวลผลplt.show()