मल्टीकलर लाइन को प्लॉट करने के लिए यदि एक्स-अक्ष पंडों की डेटाटाइम इंडेक्स है, तो हम निम्नलिखित कदम उठा सकते हैं -
- आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें।
- numpy का उपयोग करके d, y और s डेटा बिंदु बनाएं।
- एक आकृति और सबप्लॉट का एक सेट बनाएं।
- numpy का उपयोग करके xval, p और s डेटा बिंदु प्राप्त करें।
- हॉट कॉलोरमैप और डेटा बिंदुओं के साथ लाइन संग्रह उदाहरण प्राप्त करें।
- प्रमुख और लघु अक्ष लोकेटर सेट करें और अक्ष स्वरूपक सेट करें।
- डेटा सीमा का उपयोग करके दृश्य सीमाओं को स्वतः स्केल करें।
- आंकड़ा प्रदर्शित करने के लिए, दिखाएं () . का उपयोग करें विधि।
उदाहरण
import pandas as pd from matplotlib import pyplot as plt, dates as mdates, collections as c import numpy as np plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True d = pd.date_range("2021-01-01", "2021-06-01", freq="7D") y = np.cumsum(np.random.normal(size=len(d))) s = pd.Series(y, index=d) fig, ax = plt.subplots() xval = mdates.date2num(s.index.to_pydatetime()) p = np.array([xval, s.values]).T.reshape(-1, 1, 2) s = np.concatenate([p[:-1], p[1:]], axis=1) lc = c.LineCollection(s, cmap="hot") lc.set_array(xval) ax.add_collection(lc) ax.xaxis.set_major_locator(mdates.MonthLocator()) ax.xaxis.set_minor_locator(mdates.DayLocator()) m = mdates.DateFormatter("%b") ax.xaxis.set_major_formatter(m) ax.autoscale_view() plt.show()
आउटपुट
यह निम्नलिखित आउटपुट का उत्पादन करेगा