मैटप्लॉटलिब में x-अक्ष के टिक लेबल को घुमाना एक सामान्य कार्य है जब लंबे लेबल या अतिव्यापी टेक्स्ट से निपटना होता है। यह लेख स्पष्ट और पठनीय दृश्य प्राप्त करने के लिए कई तरीकों का पता लगाता है, जो विभिन्न प्लॉटिंग परिदृश्यों के लिए लचीलापन प्रदान करता है।
विषयसूची
plt.xticks()
का उपयोग करनाfig.autofmt_xdate()
का उपयोग करनाax.set_xticklabels()
का उपयोग करनाplt.setp()
का उपयोग करनाax.tick_params()
का उपयोग करना- लेबल संरेखण का अनुकूलन
plt.xticks()
का उपयोग करना
x-अक्ष के टिक लेबल को घुमाने के लिए यह सबसे सरल तरीका है। rotation
पैरामीटर सीधे घुमाव कोण को नियंत्रित करता है।
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = np.random.rand(10)
labels = ['Very Long Label ' + str(i) for i in x]
plt.plot(x, y)
plt.xticks(x, labels, rotation=45, ha='right') # ha='right' लेबल को दाईं ओर संरेखित करता है
plt.xlabel("X-अक्ष")
plt.ylabel("Y-अक्ष")
plt.title("X-अक्ष लेबल घुमाना")
plt.tight_layout() # अतिव्यापी लेबल को रोकता है
plt.show()
घुमाव के बाद उचित संरेखण के लिए ha='right'
तर्क महत्वपूर्ण है। plt.tight_layout()
अतिव्यापी लेबल को रोकने और समग्र पठनीयता में सुधार करने में मदद करता है।
fig.autofmt_xdate()
का उपयोग करना
विशेष रूप से दिनांक लेबल के लिए डिज़ाइन किया गया, fig.autofmt_xdate()
स्वचालित रूप से इष्टतम पठनीयता के लिए घुमाव और संरेखण को समायोजित करता है।
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime
dates = [datetime.date(2024, 1, i) for i in range(1, 11)]
values = np.random.rand(10)
fig, ax = plt.subplots()
ax.plot(dates, values)
fig.autofmt_xdate(rotation=45)
plt.show()
यह विधि समय श्रृंखला डेटा के साथ काम करते समय प्रक्रिया को सरल बनाती है, स्वचालित रूप से दिनांक स्वरूपण और लेबल प्लेसमेंट को संभालती है।
ax.set_xticklabels()
का उपयोग करना
यह विधि अधिक नियंत्रण प्रदान करती है, जिससे आप घुमाव से पहले लेबल को अनुकूलित कर सकते हैं।
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = np.random.rand(10)
labels = ['Label ' + str(i) for i in x]
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xticklabels(labels, rotation=70)
plt.show()
plt.setp()
का उपयोग करना
plt.setp()
घुमाव सहित मौजूदा टिक लेबल गुणों को संशोधित करने का एक संक्षिप्त तरीका प्रदान करता है।
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = np.random.rand(10)
fig, ax = plt.subplots()
ax.plot(x, y)
plt.setp(ax.get_xticklabels(), rotation=30)
plt.show()
ax.tick_params()
का उपयोग करना
घुमाव सहित विभिन्न टिक गुणों पर बारीक नियंत्रण के लिए, ax.tick_params()
सबसे बहुमुखी विकल्प है।
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
y = np.random.rand(10)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.tick_params(axis='x', labelrotation=60)
plt.show()
लेबल संरेखण का अनुकूलन
चुनिंदा विधि के बावजूद, पठनीयता के लिए उचित संरेखण महत्वपूर्ण है। plt.xticks()
या ax.set_xticklabels()
के भीतर ha
(क्षैतिज संरेखण) पैरामीटर (‘बाएँ’, ‘केंद्र’, ‘दाएँ’) क्षैतिज स्थिति को नियंत्रित करता है। अपने प्लॉट के लिए इष्टतम संरेखण खोजने के लिए प्रयोग करें। अतिव्यापी लेबल को रोकने के लिए हमेशा plt.tight_layout()
का उपयोग करने पर विचार करें।
इन तकनीकों में महारत हासिल करके, आप स्पष्ट और सूचनात्मक मैटप्लॉटलिब प्लॉट बना सकते हैं, भले ही जटिल या लंबे x-अक्ष लेबल हों।