एक औसत और एक भिन्नता को देखते हुए एक साधारण पिलाब फ़ंक्शन कॉल होता है जो सामान्य वितरण को प्लॉट करेगा?पायथन पिलैब प्लॉट सामान्य वितरण
या मुझे खुद को बनाने की ज़रूरत है?
एक औसत और एक भिन्नता को देखते हुए एक साधारण पिलाब फ़ंक्शन कॉल होता है जो सामान्य वितरण को प्लॉट करेगा?पायथन पिलैब प्लॉट सामान्य वितरण
या मुझे खुद को बनाने की ज़रूरत है?
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab
import math
mu = 0
variance = 1
sigma = math.sqrt(variance)
x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
plt.plot(x,mlab.normpdf(x, mu, sigma))
plt.show()
मैं वहाँ नहीं लगता कि एक समारोह वह सब करता है कि एक ही कॉल में है। हालांकि आप scipy.stats
में गाऊसी संभाव्यता घनत्व फ़ंक्शन पा सकते हैं।
तो सबसे आसान तरीका मैं के साथ आ सकता है:
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# Plot between -10 and 10 with .001 steps.
x_axis = np.arange(-10, 10, 0.001)
# Mean = 0, SD = 2.
plt.plot(x_axis, norm.pdf(x_axis,0,2))
सूत्रों का कहना है:
दिखाने के लिए साजिश प्राप्त करने के लिए '% matplotlib इनलाइन' आपको सूची समझ का उपयोग करने की आवश्यकता नहीं है। 'norm.pdf'' numpy.array' पर काम कर सकता है। तो, आप 'plt.plot (रेंज, norm.pdf (रेंज, 0, 2) लिख सकते हैं) '। – Avaris
@Avaris: यह भयानक है, टिप के लिए धन्यवाद। मेरा जवाब संपादित किया। – lum
आपको शायद 'norm.pdf' को 'norm (0, 1) .pdf' में बदलना चाहिए। यह अन्य मामलों में समायोजित करना आसान बनाता है/यह समझने के लिए कि यह एक यादृच्छिक चर का प्रतिनिधित्व करने वाली वस्तु उत्पन्न करता है। –
Unutbu उत्तर सही है। लेकिन क्योंकि हमारे मतलब हो सकता है और अधिक या शून्य से कम मैं अभी भी इस परिवर्तन करना चाहते हैं:
x = np.linspace(-3 * sigma, 3 * sigma, 100)
इस के लिए
:
x = np.linspace(-3 * sigma + mean, 3 * sigma + mean, 100)
क्या आपका मतलब -3 * सिग्मा + माध्य, 3 * सिग्मा + मतलब है? – SeF
आप विचार कर सकते हैं आप कदम दृष्टिकोण से एक कदम का उपयोग करना पसंद करते हैं एक समाधान जैसे
import numpy as np
import matplotlib.pyplot as plt
mean = 0; std = 1; variance = np.square(std)
x = np.arange(-5,5,.01)
f = np.exp(-np.square(x-mean)/2*variance)/(np.sqrt(2*np.pi*variance))
plt.plot(x,f)
plt.ylabel('gaussian distribution')
plt.show()
सुधार के लिए धन्यवाद, @platinor। – unutbu
आपके लिन्सस्पेस पैरामीटर वास्तव में अजीब हैं! '' 'X = np.linspace (mu - 4 * सिग्मा, एमयू + 4 * सिग्मा, 100) करने के लिए बेहतर '' ' – Amen
@Amen: हाँ, सुधार के लिए धन्यवाद। – unutbu