Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีบันทึกรูปเป็น PDF แบบ Raster Images ใน Matplotlib

การบันทึก Figure เป็น PDF แบบ Rasterized

ใช้ rasterized=True ใน add_subplot() แล้ว savefig PDF

ขั้นตอนหลัก

  • ตั้งค่าขนาดรูปและ padding
  • สร้าง figure และ axes ด้วย rasterized=True
  • สร้างข้อมูลสุ่มและแสดงด้วย imshow()
  • บันทึกด้วย plt.savefig("rasterized.pdf")

ตัวอย่างโค้ด

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = fig.add_subplot(111, rasterized=True)
data = np.random.rand(5, 5)
ax.imshow(data, cmap="copper", aspect=True, interpolation="nearest")
plt.savefig("rasterized.pdf")

คำอธิบาย

rasterized=True ทำให้เนื้อหา axes ถูก render เป็น raster image ภายใน PDF vector file เหมาะสำหรับข้อมูลหนาแน่น (เช่น pcolormesh, imshow) ลดขนาดไฟล์