मैटप्लोटलिब में एक सहज वक्र कैसे बनाएं
अक्सर आप एक लाइन ग्राफ़ के लिए मैटप्लोटलिब में एक चिकना वक्र प्लॉट करना चाह सकते हैं। सौभाग्य से, निम्नलिखित SciPy फ़ंक्शंस का उपयोग करके ऐसा करना आसान है:
यह ट्यूटोरियल बताता है कि व्यवहार में इन कार्यों का उपयोग कैसे करें।
उदाहरण: मैटप्लोटलिब में एक चिकने वक्र का आलेखन करना
निम्नलिखित कोड दिखाता है कि डेटा के सेट के लिए एक सरल लाइन चार्ट कैसे बनाया जाए:
import numpy as np import matplotlib.pyplot as plt #create data x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) y = np.array([4, 9, 12, 30, 45, 88, 140, 230]) #create line chart plt. plot (x,y) plt. show ()
ध्यान दें कि लाइन चार्ट पूरी तरह से सुचारू नहीं है क्योंकि अंतर्निहित डेटा एक चिकनी रेखा का अनुसरण नहीं करता है। हम इस डेटासेट के लिए एक सहज वक्र बनाने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
from scipy.interpolate import make_interp_spline, BSpline #createdata x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) y = np.array([4, 9, 12, 30, 45, 88, 140, 230]) #define x as 200 equally spaced values between the min and max of original x xnew = np. linspace ( x.min (), x.max (), 200 ) #define spline spl = make_interp_spline (x, y, k= 3 ) y_smooth = spl (xnew) #create smooth line chart plt. plot (xnew, y_smooth) plt. show ()
ध्यान दें कि आप k तर्क के लिए जितनी अधिक डिग्री का उपयोग करेंगे, वक्र उतना ही अधिक “लहरदार” होगा। उदाहरण के लिए, k=7 के साथ निम्नलिखित ग्राफ़ पर विचार करें:
from scipy.interpolate import make_interp_spline, BSpline #createdata x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) y = np.array([4, 9, 12, 30, 45, 88, 140, 230]) #define x as 200 equally spaced values between the min and max of original x xnew = np. linspace ( x.min (), x.max (), 200 ) #define spline with degree k=7 spl = make_interp_spline (x, y, k= 7 ) y_smooth = spl (xnew) #create smooth line chart plt. plot (xnew, y_smooth) plt. show ()
इस पर निर्भर करते हुए कि आप रेखा को कितनी वक्रता चाहते हैं, आप k का मान बदल सकते हैं।
अतिरिक्त संसाधन
मैटप्लोटलिब प्लॉट्स पर ग्रिडलाइन्स कैसे दिखाएं
Matplotlib प्लॉट्स से टिक कैसे हटाएं
लॉगरिदमिक स्केल के साथ मैटप्लोटलिब प्लॉट कैसे बनाएं