Matplotlib में plt.rcParams["figure.autolayout"] = False सेट करके टाइट लेआउट अक्षम करें, जिससे xlim() और ylim() सेट करते समय पैडिंग संरक्षित रहती है।
चरण
- फिगर आकार सेट करें और पैडिंग समायोजित करें
- NumPy से
xऔरyडेटा बिंदु बनाएं plot()मेथड सेxऔरyप्लॉट करेंxlim()औरylim()से एक्सिस लिमिट सेट करेंplt.show()से प्रदर्शित करें
उदाहरण
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True # True = टाइट लेआउट (पैडिंग कम)
x = np.linspace(-10, 10, 100)
y = np.sin(x) ** 2
plt.plot(x, y, 'b-', linewidth=2)
# मैन्युअल लिमिट्स थोड़े अतिरिक्त पैडिंग के साथ
plt.xlim([0, max(x) + 0.125])
plt.ylim([0, max(y) + 0.125])
plt.title('पैडिंग के साथ एक्सिस लिमिट्स')
plt.grid(True, alpha=0.3)
plt.show()
आउटपुट
प्लॉट जहां X-अक्ष 0 से 10.125 तक और Y-अक्ष 0 से 1.125 तक जाता है, डेटा रेंज से थोड़ा आगे।
autolayout vs मैन्युअल लिमिट्स
| सेटिंग | व्यवहार |
|---|---|
autolayout=True | स्वचालित रूप से टाइट लेआउट लागू करता है, मैन्युअल लिमिट्स ओवरराइड हो सकते हैं |
autolayout=False | मैन्युअल xlim/ylim का सम्मान करता है, पैडिंग संरक्षित रहती है |
बेहतर विकल्प: margins()
# प्रतिशत पैडिंग जोड़ें (अनुशंसित)
plt.margins(x=0.05, y=0.05) # 5% पैडिंग प्रत्येक तरफ
# या
ax.margins(0.05)
अन्य पैडिंग विधियाँ
ax.set_xlim(auto=False)ऑटो-स्केलिंग अक्षम करता हैax.set_xbound(lower, upper)बाउंड सेट करता है ऑटो-लिमिट के साथplt.axis([xmin, xmax, ymin, ymax])एक साथ सभी लिमिट्स सेट करता है
नोट
आधुनिक Matplotlib (3.3+) में constrained_layout=True फिगर बनाते समय autolayout से बेहतर काम करता है।