दिए गए 3 डी प्लॉट बनाने के लिए matplotlib का उपयोग करना चाहता हूं मेरे पास एक z फ़ंक्शन है जो x और y पैरामीटर स्वीकार करता है और एक z आउटपुट देता है। मैं इसे 3 डी में प्लॉट करना चाहता हूं और स्केल सेट करना चाहता हूं। मैं इसे आसानी से कैसे कर सकता हूं? मैंने दस्तावेज़ीकरण के माध्यम से बहुत अधिक समय बिताया है और एक बार ऐसा करने के लिए मुझे कोई रास्ता नहीं दिखता है।मैं एक zd फ़ंक्शन
उत्तर
साजिश शैली शैली आपके डेटा पर निर्भर करती है (यानी आप एक 3 डी वक्र, या सतह, या एक तितर बिताने की कोशिश कर रहे हैं ...), लेकिन इससे आपको खेलना शुरू करने के लिए एक कामकाजी उदाहरण देना चाहिए।
असल में, आप साजिश में फ़ंक्शन पास नहीं करते हैं, आप पहले xs और ys का डोमेन बनाते हैं, और फिर उस से zs की गणना करते हैं। मेरे उदाहरण में मैंने डोमेन के लिए एक्स-वाई विमान में समान रूप से दूरी वाले बिंदुओं का एक सरल ग्रिड का उपयोग किया है।
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import random
def fun(x, y):
return x + y
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 10
xs = [i for i in range(n) for _ in range(n)]
ys = range(n) * n
zs = [fun(x, y) for x,y in zip(xs,ys)]
ax.scatter(xs, ys, zs)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
सतहों के लिए यह थोड़ा अलग है, तो आप 2 डी सरणियों में डोमेन के लिए एक ग्रिड में गुजरती हैं।
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import random
def fun(x, y):
return x**2 + y
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = y = np.arange(-3.0, 3.0, 0.05)
X, Y = np.meshgrid(x, y)
zs = np.array([fun(x,y) for x,y in zip(np.ravel(X), np.ravel(Y))])
Z = zs.reshape(X.shape)
ax.plot_surface(X, Y, Z)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
पर मनमाने ढंग से जेड-फ़ंक्शन को पारित करने का कोई उदाहरण नहीं ढूंढ पाया है, जब मैं फ़ंक्शन बदलता हूं, तो ग्राफ बहुत अधिक रहता है? क्या एक चिकनी सतह करने का कोई तरीका है? – WhatsInAName
ठीक है, मैंने अपना जवाब एक ढलान वाले परवलयिक सतह के साथ अद्यतन किया है। – wim
अंतिम ग्राफ के लिए, z के अनुसार सतह को रंगने का कोई तरीका है? एक cloropleth का उपयोग कर कहो? –
- 1. मैं फ़ंक्शन
- 2. elisp में, मैं एक चर में एक फ़ंक्शन कैसे डालूं?
- 3. मैं लाइब्रेरी फ़ंक्शन
- 4. मैं एक फ़ंक्शन कैसे लिखूं जो एक और फ़ंक्शन देता है?
- 5. एक फ़ंक्शन से दूसरे फ़ंक्शन को
- 6. एक कन्स्ट्रक्टर फ़ंक्शन
- 7. एक कॉन्स्ट सदस्य फ़ंक्शन
- 8. एक लैम्ब्डा फ़ंक्शन
- 9. एक निश्चित फ़ंक्शन
- 10. एक अलग फ़ंक्शन
- 11. एक रिकर्सिव फ़ंक्शन
- 12. एक PHP फ़ंक्शन
- 13. फ़ंक्शन एक ऑनक्लिक ईवेंट
- 14. PHP - एक रिकर्सिव फ़ंक्शन
- 15. एक PHP फ़ंक्शन
- 16. एक तेज हैश-फ़ंक्शन
- 17. एक PHP फ़ंक्शन
- 18. एक वीबीए फ़ंक्शन
- 19. एक जेएस फ़ंक्शन
- 20. एक जावास्क्रिप्ट फ़ंक्शन
- 21. एक तर्क, कई फ़ंक्शन
- 22. एक पैकेज फ़ंक्शन
- 23. एक atoi() फ़ंक्शन
- 24. एक फ़ंक्शन जो डेटासेट
- 25. एक अन्य वैरैडिक फ़ंक्शन
- 26. आर: एक आंतरिक फ़ंक्शन
- 27. एक सी कॉलबैक फ़ंक्शन
- 28. मैं डेटा रीडर पर एक पीक() फ़ंक्शन कैसे कार्यान्वित करूं?
- 29. जावास्क्रिप्ट मैं की तरह कोड है एक कॉलबैक फ़ंक्शन
- 30. मैं एक jquery फ़ंक्शन कैसे लिखूं जो कॉलबैक को पैरामीटर
[3 डी भूखंडों के लिए क्षमता] (http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html) matplotlib में केवल बहुत में जोड़ा गया: यहाँ एक चिकनी सतह उदाहरण है हाल के संस्करण, जहां तक मुझे पता है। –
मैंने पहले ही उस पृष्ठ को देखा है और एक 3 डी प्लॉटटर – WhatsInAName