matplotlib तारीख में हेरफेर करने के लिए ताकि हर 12 महीने में साल का टिक दिखाई दे, हम निम्नलिखित कदम उठा सकते हैं -
- आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें।
- बनाएं d, y, s, साल, महीने, महीनेFmt और yearsFmt पांडा, नम्पी और मैटप्लोटलिब तिथियों का उपयोग करना।
- दिनांकफ़ॉर्मेटर में "%B" का प्रयोग पूरे महीने के नाम दिखाने के लिए करें।
- यूई "%Y" DateFormatter में वर्ष दिखाने के लिए।
- नया आंकड़ा बनाएं या मौजूदा आंकड़ा सक्रिय करें।
- सबप्लॉट व्यवस्था के हिस्से के रूप में आकृति में एक 'कुल्हाड़ी' जोड़ें।
- प्लॉट "dts" और "s" डेटा पॉइंट प्लॉट () . का उपयोग करके विधि।
- मामूली या प्रमुख अक्ष लोकेटर और फ़ॉर्मेटर सेट करें। माइनर_लोकेटर सेट करें महीने . के रूप में ताकि हर 12 महीने में साल का टिक दिखाई दे।
- आंकड़ा प्रदर्शित करने के लिए, दिखाएं () . का उपयोग करें विधि।
उदाहरण
import numpy as np
from matplotlib import pyplot as plt, dates as mdates
import pandas as pd
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
d = pd.date_range("2020-01-01", "2021-06-01", freq="7D")
y = np.cumsum(np.random.normal(size=len(d)))
s = pd.Series(y, index=d)
years = mdates.YearLocator()
months = mdates.MonthLocator()
monthsFmt = mdates.DateFormatter('%B')
yearsFmt = mdates.DateFormatter('\n%Y')
dts = s.index.to_pydatetime()
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(dts, s)
ax.xaxis.set_minor_locator(months)
ax.xaxis.set_minor_formatter(monthsFmt)
plt.setp(ax.xaxis.get_minorticklabels(), rotation=90)
ax.xaxis.set_major_locator(years)
ax.xaxis.set_major_formatter(yearsFmt)
plt.show() आउटपुट
यह निम्नलिखित आउटपुट का उत्पादन करेगा
