ในการแสดง figure ที่ถูกปิดแล้วใน Matplotlib เราสามารถสร้าง Canvas Manager ใหม่และเก็บ figure ก่อนหน้าลงใน figure ใหม่ของ Canvas
ขั้นตอน
- ตั้งค่าขนาดรูปและปรับ padding ระหว่างและรอบ subplots
- สร้าง figure ใหม่หรือเปิดใช้งาน figure ที่มีอยู่
- สร้างจุดข้อมูล x และ y ด้วย numpy
- พลอต x และ y ด้วยเมธอด plot()
- ปิด figure ปัจจุบันที่ plot อยู่
- ตอนนี้ เก็บ figure ก่อนหน้าใน figure ใหม่ของ Canvas
- ตั้งค่า Canvas ที่มี figure
- เพื่อแสดงรูป ใช้เมธอด show()
ตัวอย่าง
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() x = np.linspace(-10, 10, 100) y = np.sin(x) plt.plot(x, y) plt.close(fig) new_fig = plt.figure() new_manager = new_fig.canvas.manager new_manager.canvas.figure = fig fig.set_canvas(new_manager.canvas) plt.show()
ผลลัพธ์

