दो टिक्स के बीच लेबल्स रखने के लिए, हम निम्नलिखित चरण अपना सकते हैं:
- कुछ सैंपल डेटा, r लोड करें।
- निर्दिष्ट टाइप में कास्ट करके ऐरे की एक कॉपी बनाएं।
- subplots() मेथड का उपयोग करके फिगर और सबप्लॉट्स का सेट बनाएं।
- डेटा और r सैंपल डेटा प्लॉट करें।
- set_major_locator() और set_minor_locator() मेथड्स का उपयोग करके मेजर/माइनर टिकर का लोकेटर सेट करें।
- set_major_locator() और set_minor_formatter() मेथड्स का उपयोग करके मेजर/माइनर फॉर्मेटर का लोकेटर सेट करें।
- अब, टिकलेबल को केंद्र पर रखें।
- फिगर डिस्प्ले करने के लिए show() मेथड का उपयोग करें।
उदाहरण
import numpy as np
import matplotlib.cbook as cbook
import matplotlib.dates as dates
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
with cbook.get_sample_data('aapl.npz') as fh:
r = np.load(fh)['price_data'].view(np.recarray)
r = r[-250:]
date = r.date.astype('O')
fig, ax = plt.subplots()
ax.plot(date, r.adj_close)
ax.xaxis.set_major_locator(dates.MonthLocator())
ax.xaxis.set_minor_locator(dates.MonthLocator(bymonthday=15))
ax.xaxis.set_major_formatter(ticker.NullFormatter())
ax.xaxis.set_minor_formatter(dates.DateFormatter('%b'))
for tick in ax.xaxis.get_minor_ticks():
tick.tick1line.set_markersize(0)
tick.tick2line.set_markersize(0)
tick.label1.set_horizontalalignment('center')
imid = len(r) // 2
ax.set_xlabel(str(date[imid].year))
plt.show()
आउटपुट
