Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Matplotlib में एकाधिक फिगर्स को एक PDF फ़ाइल में सहेजें

Matplotlib में PdfPages बैकएंड का उपयोग करके एकाधिक फिगर्स को एक ही PDF फ़ाइल में सहेजा जा सकता है।

चरण

  1. फिगर आकार सेट करें और पैडिंग समायोजित करें
  2. पहला फिगर (fig1) बनाएं और प्लॉट करें
  3. दूसरा फिगर (fig2) बनाएं और प्लॉट करें
  4. फाइलनाम वेरिएबल इनिशियलाइज़ करें
  5. उपयोगकर्ता-परिभाषित फंक्शन save_multi_image() बनाएं
  6. फंक्शन को फाइलनाम के साथ कॉल करें
  7. नया PdfPages ऑब्जेक्ट बनाएं
  8. खुले फिगर्स की संख्या प्राप्त करें
  9. खुले फिगर्स पर पुनरावृति करके उन्हें फ़ाइल में सहेजें
  10. बनाए गए PDF ऑब्जेक्ट को बंद करें

उदाहरण

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):
    """एकाधिक फिगर्स को एक PDF में सहेजें"""
    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)

आउटपुट

प्रोजेक्ट डायरेक्टरी में multi.pdf बनेगी जिसमें दोनों प्लॉट्स (लाल लाइन और हरी लाइन) अलग-अलग पेज पर सहेजे जाएंगे।

उन्नत: प्रत्येक फिगर को अलग पेज पर सहेजें

def save_multi_image_advanced(filename):
    with PdfPages(filename) as pp:
        for fig_num in plt.get_fignums():
            fig = plt.figure(fig_num)
            fig.savefig(pp, format='pdf', bbox_inches='tight')
            plt.close(fig)  # मेमोरी मुक्त करें

मुख्य बिंदु

  • PdfPages मल्टी-पेज PDF बनाने के लिए संदर्भ प्रबंधक (context manager) के रूप में काम करता है
  • plt.get_fignums() सभी खुले फिगर नंबर लौटाता है
  • bbox_inches='tight' अतिरिक्त सफेद स्थान हटाता है
  • लूप के बाद plt.close(fig) मेमोरी लीक रोकता है

अन्य फॉर्मेट्स

यही दृष्टिकोण अन्य वेक्टर फॉर्मेट्स (SVG, EPS) के लिए भी काम करता है, बस फॉर्मेट बदलें।

  1. Matplotlib फिगर से SVG फ़ाइल एक्सपोर्ट करना Matplotlib फिगर से SVG फ़ाइल एक्सपोर्ट करना

    Matplotlib फिगर से SVG फ़ाइल एक्सपोर्ट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: फिगर का आकार सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें। फिगर और सबप्लॉट्स का सेट बनाएं। NumPy का उपयोग करके रैंडम x और y डेटा पॉइंट्स बनाएं। plot() मेथड का उपयोग करके x और y डेटा पॉइंट्स प्लॉ

  1. मैटप्लॉटलिब के साथ पायथन में समानांतर कई फिगर ड्रा करना मैटप्लॉटलिब के साथ पायथन में समानांतर कई फिगर ड्रा करना

    मैटप्लॉटलिब के साथ पायथन में समानांतर कई फिगर ड्रा करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: नम्पाई का उपयोग करके रैंडम डेटा बनाएं। वर्तमान फिगर में सबप्लॉट जोड़ें, nrows=1, ncols=4 और इंडेक्स=1 पर। imshow() मेथड का उपयोग करके डेटा को इमेज के रूप में प्रदर्शित करें, यानी 2D रेगुलर रैस्टर पर, c

  1. आईपायथन नोटबुक से मैटप्लॉटलिब का उपयोग करके फिगर को फ़ाइल के रूप में सेव करना आईपायथन नोटबुक से मैटप्लॉटलिब का उपयोग करके फिगर को फ़ाइल के रूप में सेव करना

    आईपायथन से फिगर को फ़ाइल के रूप में सेव करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: एक नया फिगर बनाएं या मौजूदा फिगर को एक्टिवेट करें। add_axes() मेथड का उपयोग करके फिगर में एक्सेस जोड़ें। दी गई सूची को प्लॉट करें। savefig() मेथड का उपयोग करके प्लॉट सेव करें। उदाहरण from matplotlib import pyplo