Computer >> Máy Tính >  >> Lập trình >> Python

Lưu nhiều số liệu vào một tệp PDF trong matplotlib

Để lưu nhiều số liệu trong một tệp PDF cùng một lúc, chúng ta có thể thực hiện các bước sau

Các bước

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.

  • Tạo hình mới (hình1) hoặc kích hoạt và hình hiện có bằng cách sử dụng hình () phương pháp.

  • Vẽ dòng đầu tiên bằng cách sử dụng plot () phương pháp.

  • Tạo một hình khác ( fig2 ) hoặc kích hoạt và hình hiện có bằng cách sử dụng hình () phương pháp.

  • Vẽ dòng thứ hai bằng cách sử dụng plot () phương pháp.

  • Khởi tạo một biến, tên tệp , để tạo tệp pdf.

  • Tạo một hàm do người dùng xác định save_multi_image () để lưu nhiều hình ảnh trong một tệp PDF.

  • Gọi save_multi_image () hàm với tên tệp.

  • Tạo PdfPages mới đối tượng.

  • Nhận số lượng các số liệu mở.

  • Lặp lại các số liệu đã mở và lưu chúng vào tệp.

  • Đóng đối tượng PDF đã tạo.

Ví dụ

from matplotlib import pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

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

fig1 = plt.figure()
plt.plot([2, 1, 7, 1, 2], color='red', lw=5)

fig2 = plt.figure()
plt.plot([3, 5, 1, 5, 3], color='green', lw=5)


def save_multi_image(filename):
    pp = PdfPages(filename)
    fig_nums = plt.get_fignums()
    figs = [plt.figure(n) for n in fig_nums]
    for fig in figs:
        fig.savefig(pp, format='pdf')
    pp.close()

filename = "multi.pdf"
save_multi_image(filename)

Đầu ra

Lưu nhiều số liệu vào một tệp PDF trong matplotlib

Khi thực thi, nó sẽ tạo một tệp PDF "multi.pdf" trong Thư mục dự án và lưu hai hình ảnh sau vào tệp đó.

Lưu nhiều số liệu vào một tệp PDF trong matplotlib