यदि X-अक्ष पैंडास का डेटाटाइम इंडेक्स है, तो मल्टीकलर लाइन प्लॉट करने के लिए हम निम्न चरणों का पालन कर सकते हैं:
- फिगर का आकार सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें।
- नम्पी का उपयोग करके d, y और s डेटा पॉइंट्स बनाएं।
- एक फिगर और सबप्लॉट्स का सेट बनाएं।
- नम्पी का उपयोग करके xval, p और s डेटा पॉइंट्स प्राप्त करें।
- हॉट कलरमैप और s डेटा पॉइंट्स के साथ लाइन कलेक्शन इंस्टेंस प्राप्त करें।
- मेजर और माइनर एक्सिस लोकेटर सेट करें और एक्सिस फॉर्मेटर सेट करें।
- डेटा लिमिट्स का उपयोग करके व्यू लिमिट्स को ऑटोस्केल करें।
- फिगर डिस्प्ले करने के लिए show() मेथड का उपयोग करें।
उदाहरण
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()
आउटपुट
यह निम्न आउटपुट उत्पन्न करेगा:

