Сохраните несколько рисунков matplotlib в одном файле PDF с помощью Python

Персонализированный диспетчер задач на Python Программирование и разработка

В этой статье мы обсудим, как сохранить несколько рисунков matplotlib в одном файле PDF с помощью Python. Мы можем использовать метод savefig() класса PdfPages для сохранения нескольких графиков в одном PDF-файле. Графики Matplotlib можно просто сохранить в виде файлов PDF с расширением.pdf. Это сохраняет рисунки, сгенерированные Matplotlib, в одном файле PDF с именем Сохранить несколько графиков как PDF.pdf в текущем рабочем каталоге.

Installation

pip install matplotlib

Поэтапная реализация

Чтобы найти решение, мы выполним несколько шагов.

Шаг 1: Импортируйте необходимые файлы.

Python3

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

Шаг 2: Установите размер фигуры и отрегулируйте отступы между подграфиками и вокруг них.

Python3

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

Шаг 3: Мы рассмотрим 3 графика, поэтому давайте назовем их fig1, fig2 и fig3, используя plt.figure().

Python3

fig1 = plt.figure()
fig2 = plt.figure()
Fig3 = plt.figure()

Шаг 4: Постройте первую строку, используя метод plt.plot().

Python3

plt.plot([17, 45, 7, 8, 7], color='orange')
plt.plot([13, 25, 1, 6, 3], color='blue')
plt.plot([22, 11, 2, 1, 23], color='green')

Шаг 5: Создайте функцию для сохранения нескольких изображений в файле PDF, скажем, save_image().

Python3

def save_image(filename):
   
    # PdfPages is a wrapper around pdf 
    # file so there is no clash and
    # create files with no error.
    p = PdfPages(filename)
     
    # get_fignums Return list of existing
    # figure numbers
    fig_nums = plt.get_fignums()  
    figs = [plt.figure(n) for n in fig_nums]
     
    # iterating over the numbers in list
    for fig in figs: 
       
        # and saving the files
        fig.savefig(p, format='pdf'
         
    # close the object
    p.close()

Полный код

Python3

import matplotlib
from matplotlib import pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
 
# customizing runtime configuration stored
# in matplotlib.rcParams
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
 
fig1 = plt.figure()
plt.plot([17, 45, 7, 8, 7], color='orange')
 
fig2 = plt.figure()
plt.plot([13, 25, 1, 6, 3], color='blue')
 
Fig3 = plt.figure()
plt.plot([22, 11, 2, 1, 23], color='green')
 
 
def save_image(filename):
   
    # PdfPages is a wrapper around pdf 
    # file so there is no clash and create
    # files with no error.
    p = PdfPages(filename)
     
    # get_fignums Return list of existing 
    # figure numbers
    fig_nums = plt.get_fignums()  
    figs = [plt.figure(n) for n in fig_nums]
     
    # iterating over the numbers in list
    for fig in figs: 
       
        # and saving the files
        fig.savefig(p, format='pdf'
     
    # close the object
    p.close()  
 
# name your Pdf file
filename = "multi_plot_image.pdf"
 
# call the function
save_image(filename)

Выход:

Теперь, после запуска кода, вы можете увидеть в своем локальном каталоге, что PDF-файл, содержащий все три графика, будет сохранен в формате PDF с именем «multi_plot_image.pdf».

Теперь, после запуска кода, вы можете увидеть в своем

Читайте также:  Использование шаблонов в C++
Оцените статью
bestprogrammer.ru
Добавить комментарий