Matplotlib में एक बेसिक लाइन प्लॉट बनाना
हम एक बेसिक लाइन प्लॉट बनाकर शुरू करेंगे और फिर उसे अधिक आकर्षक और जानकारीपूर्ण बनाने के लिए कस्टमाइज़ करेंगे।
लाइन प्लॉट बनाने के लिए plt.plot() का उपयोग
लाइन प्लॉट बनाने के लिए हम plt.plot() फ़ंक्शन का उपयोग करेंगे। यह फ़ंक्शन दो पैरामीटर लेता है: x-अक्ष के मान और y-अक्ष के मान। हमारे मामले में, x-अक्ष पर date कॉलम होगा, जबकि y-अक्ष पर close कॉलम। कोड इस प्रकार है:
# Extract the date and close price columns
dates = df['Date']
closing_price = df['Close']
# Create a line plot
plt.plot(dates, closing_price)
# Show the plot
plt.show()
जब आप ऊपर का कोड चलाएँगे, तो आपको DJIA स्टॉक का एक बेसिक लाइन प्लॉट दिखाई देगा।

लाइन प्लॉट को कस्टमाइज़ करना
Matplotlib हमें ढेरों कस्टमाइज़ेशन देता है, जिन्हें हम अपनी ज़रूरत के अनुसार उपयोग कर सकते हैं।
लाइन का रंग सेट करना
डिफ़ॉल्ट रूप से, plt.plot() फ़ंक्शन नीली लाइन प्लॉट करता है। हालांकि, आप color पैरामीटर पास करके लाइन का रंग बदल सकते हैं। color पैरामीटर में रंग का नाम बताने वाली स्ट्रिंग या हेक्साडेसीमल कोड दिया जा सकता है।
उदाहरण:
# लाल रंग में प्लॉट करें
plt.plot(dates, closing_price, color='red')
# Show the plot
plt.show()
यह कोड नीचे दिखाए अनुसार नीली लाइन की जगह लाल लाइन प्लॉट करेगा:

लाल रंग में बेसिक लाइन प्लॉट
लाइन की चौड़ाई सेट करना
आप plt.plot() में linewidth पैरामीटर पास करके लाइन की चौड़ाई भी बदल सकते हैं। linewidth पैरामीटर फ्लोटिंग-पॉइंट मान लेता है जो लाइन की चौड़ाई दर्शाता है।
उदाहरण:
# लाइनविथ बढ़ाना
plt.plot(dates, closing_price, linewidth=3)
# Show the plot
plt.show()
यह कोड डिफ़ॉल्ट की जगह चौड़ाई 3 वाली लाइन प्लॉट करेगा, जैसा कि नीचे दिखाया गया है:

ऊँचे linewidth के कारण प्लॉट में मोटी लाइनों का प्रभाव
लाइन की शैली सेट करना
आप plt.plot() में linestyle पैरामीटर पास करके लाइन की शैली बदल सकते हैं। linestyle पैरामीटर एक स्ट्रिंग लेता है जो लाइन की शैली दर्शाता है। उपलब्ध शैलियों की विस्तृत सूची matplotlib प्रलेखन में दी गई है।

इनका उपयोग कोड में इस प्रकार कर सकते हैं:
# क्रमशः solid, dotted, dashed और dashdot शैली में लाइनें अलग-अलग प्लॉट करें
plt.plot(dates, closing_price, linestyle='solid') # डिफ़ॉल्ट लाइन शैली
plt.plot(dates, closing_price, linestyle='dotted')
plt.plot(dates, closing_price, linestyle='dashed')
plt.plot(dates, closing_price, linestyle='dashdot')
# Show the plot
plt.show()
लाइन प्लॉट में मार्कर जोड़ना
मार्कर का उपयोग लाइन प्लॉट में विशेष बिंदुओं को हाइलाइट करने के लिए किया जा सकता है। मार्कर के रूप में कई प्रकार के प्रतीक उपलब्ध हैं, जिन्हें matplotlib प्रलेखन से देखा जा सकता है।
लाइन प्लॉट में मार्कर उपयोग करने का उदाहरण:
# प्रत्येक बिंदु के लिए क्रॉस मार्कर जोड़ें
plt.plot(df['Date'], df['Close'], marker='x')
# Show the plot
plt.show()
ऊपर दिए गए कोड में, हम DJIA स्टॉक की Close कीमतों को हाइलाइट करने के लिए क्रॉस (x) मार्कर का उपयोग कर रहे हैं, जैसा कि नीचे दिखाया गया है:

लेबल और शीर्षक जोड़ना
प्लॉट को और जानकारीपूर्ण बनाने के लिए, हम अक्षों के लेबल और एक शीर्षक जोड़ सकते हैं। इसके लिए क्रमशः plt.xlabel(), plt.ylabel(), और plt.title() फ़ंक्शंस का उपयोग करें।
उदाहरण:
plt.plot(dates, closing_price, color='red', linewidth=2)
plt.xlabel('Date')
plt.ylabel('Closing Price')
plt.title('DJIA Stock Price')
# Show the plot
plt.show()
यह कोड चौड़ाई 2 वाली लाल लाइन प्लॉट करेगा, जिसमें x-अक्ष का लेबल ‘Date’, y-अक्ष का लेबल ‘Closing Price’, और शीर्षक ‘DJIA Stock Price’ होगा।

ग्रिड लाइन्स जोड़ना
हम अपने प्लॉट में ग्रिड लाइन्स भी जोड़ सकते हैं जिससे पढ़ना आसान हो जाता है। इसके लिए plt.grid() फ़ंक्शन का उपयोग करें। plt.grid() फ़ंक्शन एक बूलियन मान लेता है जो बताता है कि ग्रिड दिखाना है या नहीं।
उदाहरण:
plt.plot(dates, closing_price, color='red', linewidth=2)
plt.xlabel('Date')
plt.ylabel('Closing Price')
plt.title('DJIA Stock Price')
# Add the grid
plt.grid(True)
# Show the plot
plt.show()
आप प्लॉट में ग्रिड्स जुड़े हुए देखेंगे:

कई लाइनों वाले Matplotlib लाइन प्लॉट
कुछ मामलों में, आप एक ही ग्राफ़ पर कई लाइनें प्लॉट करना चाहेंगे। इसके लिए, आप अलग-अलग डेटा के साथ plt.plot() फ़ंक्शन को कई बार कॉल कर सकते हैं। उदाहरण:
# Open और Close कीमतों का लाइन प्लॉट
plt.plot(df['Date'], df['Open'])
plt.plot(df['Date'], df['Close'])
plt.title('DJIA Open and Close Prices')
plt.xlabel('Date')
plt.ylabel('Price')
plt.show()
ऊपर दिए गए कोड में, हम DJIA स्टॉक की Open और Close दोनों कीमतों को एक ही ग्राफ़ पर प्लॉट कर रहे हैं।

ट्विन अक्षों वाले Matplotlib लाइन प्लॉट
कभी-कभी आप एक ही प्लॉट पर अलग-अलग स्केल वाले दो वैरिएबल्स दिखाना चाहेंगे। ऐसी स्थितियों में ट्विन अक्षों का उपयोग, वैरिएबल्स के बीच संबंध को दर्शाने का प्रभावी तरीका है, जिससे व्यक्तिगत स्केल की स्पष्टता बनी रहती है।
ट्विन अक्षों वाला लाइन प्लॉट बनाने के लिए हमें twinx() फ़ंक्शन का उपयोग करना होगा। यह फ़ंक्शन उसी x-अक्ष को साझा करते हुए नया y-अक्ष बनाता है।
उदाहरण देखें:
# प्रदर्शन के लिए नया वैरिएबल बनाएं
df['High_minus_Low'] = df['High'] - df['Low']
# Close कीमतों के लिए बेसिक लाइन प्लॉट बनाएं
fig, ax1 = plt.subplots()
ax1.plot(df['Date'], df['Close'], color='blue', label='Close Price')
ax1.set_xlabel('Date')
ax1.set_ylabel('Closing Price', color='blue')
ax1.tick_params(axis='y', labelcolor='blue')
# High_minus_Low वैरिएबल के लिए ट्विन अक्ष बनाएं
ax2 = ax1.twinx()
ax2.plot(df['Date'], df['High_minus_Low'], color='green', label='High - Low')
ax2.set_ylabel('High minus Low', color='green')
ax2.tick_params(axis='y', labelcolor='green')
# शीर्षक जोड़ें और प्लॉट दिखाएँ
plt.title('DJIA Stock Price and High-Low Difference with Twin Axes')
plt.show()
और ट्विन अक्षों वाला प्राप्त प्लॉट:

Matplotlib लाइन प्लॉट में सांख्यिकीय जानकारी जोड़ना
डेटा में रुझान और पैटर्न दिखाने के अलावा, लाइन प्लॉट रिग्रेशन लाइन्स और एरर बार्स जैसी सांख्यिकीय जानकारी भी प्रदर्शित कर सकते हैं।
Matplotlib रिग्रेशन लाइन जोड़ना
रिग्रेशन लाइन वह रेखा होती है जो प्लॉट में डेटा बिंदुओं के लिए सबसे उपयुक्त बैठती है और जिसका उपयोग भविष्य के मानों का मॉडलिंग और पूर्वानुमान करने के लिए किया जा सकता है। हम NumPy की polyfit() फ़ंक्शन का उपयोग करके अपनी लाइन प्लॉट में रिग्रेशन लाइन जोड़ सकते हैं, जो हमारे डेटा बिंदुओं पर पॉलीनॉमियल रिग्रेशन फिट करती है।
import matplotlib.dates as mdates
# Convert Date column to numeric value
df['Date'] = mdates.date2num(df['Date'])
# Add regression line to plot
coefficients_open = np.polyfit(df['Date'], df['Open'], 1)
p_open = np.poly1d(coefficients_open)
coefficients_close = np.polyfit(df['Date'], df['Close'], 1)
p_close = np.poly1d(coefficients_close)
fig, ax = plt.subplots()
ax.plot(df['Date'], df['Open'], '.', label='Open Price')
ax.plot(df['Date'], p_open(df['Date']), '-', label='Open Regression Line')
ax.plot(df['Date'], df['Close'], '.', label='Close Price')
ax.plot(df['Date'], p_close(df['Date']), '-', label='Close Regression Line')
ax.set_title('DIJA Stock Prices')
ax.set_xlabel('Date')
ax.set_ylabel('Price')
ax.legend()
# Format x-axis labels as dates
date_form = mdates.DateFormatter("%Y-%m-%d")
ax.xaxis.set_major_formatter(date_form)
plt.gcf().autofmt_xdate()
plt.show()
इस कोड में, हम पहले date2num() फ़ंक्शन का उपयोग करके तारीखों को संख्यात्मक मानों में बदलते हैं और फिर polyfit() फ़ंक्शन से रिग्रेशन लाइन के गुणांक प्राप्त करते हैं। हम poly1d() फ़ंक्शन का उपयोग करके उस लाइन को प्लॉट करने के लिए बहुपद बनाते हैं। हम मूल डेटा बिंदुओं को डॉट्स से और रिग्रेशन लाइन को सॉलिड लाइन से प्लॉट करते हैं।

एरर बार्स जोड़ना
एरर बार्स डेटा की वैरिएबिलिटी का ग्राफिकल प्रतिनिधित्व हैं और माप में अनिश्चितता दर्शाने के लिए उपयोग किए जा सकते हैं।
यह विशेष रूप से तब उपयोगी है जब डेटा संग्रहण प्रक्रिया में कुछ त्रुटियों की उम्मीद हो, जैसे तापमान डेटा, वायु गुणवत्ता डेटा इत्यादि। स्टॉक कीमतों के बारे में हम सामान्यतः निश्चित होते हैं, फिर भी मान लें कि एक स्टैंडर्ड डिविएशन की संभावित त्रुटि है और उसे Matplotlib के errorbar फ़ंक्शन से प्लॉट करें।
# Calculate standard deviation of data
std = df['Close'].std()
# Add error bars to plot
plt.errorbar(df['Date'], df['Close'], yerr=std/2, fmt='.', label='Close Price')
plt.title('DIJA Stock Prices')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.show()
इस कोड में, हम पहले अपने डेटासेट में Close कीमतों का स्टैंडर्ड डिविएशन निकालते हैं। फिर errorbar() फ़ंक्शन का उपयोग करके लाइन प्लॉट में एरर बार्स जोड़ते हैं, जिनका आकार स्टैंडर्ड डिविएशन के आधे के बराबर रखा गया है।

इन तकनीकों की मदद से हम अपने लाइन प्लॉट में सांख्यिकीय जानकारी जोड़ सकते हैं और अपने डेटा से गहरी समझ प्राप्त कर सकते हैं।
निष्कर्ष
लाइन प्लॉट डेटा में रुझान और पैटर्न को विज़ुअलाइज़ करने का एक शक्तिशाली साधन हैं, और Matplotlib इन्हें बनाने के लिए यूज़र-फ्रेंडली इंटरफ़ेस प्रदान करता है।
अगले कदम के रूप में, आप हमारा Intermediate Python कोर्स देखना चाहेंगे, जहाँ आप सीखी हुई चीज़ों को एक हैकर स्टैटिस्टिक्स केस स्टडी पर लागू करेंगे।
हमें उम्मीद है कि इस ट्यूटोरियल ने आपको Matplotlib में लाइन प्लॉट बनाना शुरू करने में मदद की है। हमने एक अन्य ट्यूटोरियल में matplotlib प्लॉट्स के अन्य प्रकारों को भी विस्तार से कवर किया है, जो आपको Matplotlib से और क्या-क्या किया जा सकता है, इसका संक्षिप्त परिचय देगा।
दृश्यांकन बनाते रहें, प्रयोग करते रहें, और अपने डेटा से नई अंतर्दृष्टियाँ खोजते रहें!
डेटा विज़ुअलाइज़ेशन और स्टोरीटेलिंग डेटा साइंटिस्ट्स के लिए बेहद अहम हैं, क्योंकि ये जटिल इनसाइट्स को प्रभावी संचार के लिए सरल और असरदार कथानकों में बदल देते हैं। नई-नई और आकर्षक लाइब्रेरीज़ आने के बावजूद, Matplotlib अब भी सबसे लोकप्रिय प्लॉटिंग लाइब्रेरीज़ में से एक है और कई नई लाइब्रेरीज़ की बुनियाद रखती है।
यह ट्यूटोरियल Matplotlib के सबसे आम प्लॉट प्रकारों में से एक—लाइन प्लॉट—पर केंद्रित है। लाइन प्लॉट समय के साथ डेटा में रुझानों और उतार-चढ़ाव को दिखाने में बेहतरीन होते हैं, बिंदुओं को जोड़ते हुए तस्वीर साफ़ कर देते हैं कि वास्तव में क्या हो रहा है।
यह ट्यूटोरियल एक साधारण लाइन प्लॉट बनाना सिखाने से शुरू होता है और फिर उन्नत तकनीकों की ओर बढ़ता है, जैसे प्लॉट्स में सांख्यिकीय जानकारी जोड़ना। अंत तक, आप Matplotlib में अलग-अलग तरह के लाइन प्लॉट बनाना और उनके माध्यम से अपने डेटा इनसाइट्स को प्रभावी ढंग से संप्रेषित करना सीख चुके होंगे।
क्या आप अपनी डेटा विज़ुअलाइज़ेशन स्किल्स को और बेहतर करने के लिए तैयार हैं? आइए शुरू करें!
लाइब्रेरीज़, डेटा, और प्री-प्रोसेसिंग
Matplotlib के साथ लाइन प्लॉट बनाना शुरू करने से पहले हमें अपना वातावरण सेट करना होगा। इसमें Matplotlib इंस्टॉल करना, आवश्यक लाइब्रेरीज़ इम्पोर्ट करना, और उस डेटासेट का प्री-प्रोसेसिंग करना शामिल है जिसका हम उदाहरणों में उपयोग करेंगे।
Matplotlib इंस्टॉल करना
Matplotlib इंस्टॉल करने के लिए आप Python के पैकेज इंस्टॉलर pip का उपयोग कर सकते हैं। बस टर्मिनल या कमांड प्रॉम्प्ट खोलें और टाइप करें:
इससे आपके सिस्टम पर Matplotlib का नवीनतम संस्करण इंस्टॉल हो जाएगा।
ज़रूरी लाइब्रेरीज़ इम्पोर्ट करना
Matplotlib इंस्टॉल हो जाने के बाद, हमें इसे NumPy और Pandas जैसी अन्य आवश्यक लाइब्रेरीज़ के साथ इम्पोर्ट करना होगा। NumPy ऐरेज़ के साथ काम करने की लाइब्रेरी है, जबकि Pandas डेटा मैनिपुलेशन और विश्लेषण के लिए है।
इन लाइब्रेरीज़ को इम्पोर्ट करने के लिए नीचे दिया गया कोड टाइप करें:
डेटा पढ़ना और प्री-प्रोसेसिंग
इस ट्यूटोरियल के लिए, हम DJIA इंडेक्स की डेली कीमतों वाला एक डेटासेट उपयोग करेंगे। इस डेटासेट में पाँच कॉलम शामिल हैं:
डेटासेट लोड करने के बाद, हम कुछ बुनियादी प्री-प्रोसेसिंग करेंगे, जैसे कॉलम का नाम बदलना, उसे
datetimeवैरिएबल में बदलना, और तारीख के आरोही क्रम में डेटा सॉर्ट करना।इसके लिए कोड यह है:
अब जब हमने वातावरण सेट कर लिया है और डेटासेट लोड कर लिया है, तो हम Matplotlib का उपयोग करके लाइन प्लॉट बनाना शुरू कर सकते हैं।