Matplotlib में गणितीय समीकरण (जैसे z = ax + by + c) से 3D प्लेन प्लॉट करने के लिए plot_surface() का उपयोग करें।
चरण
- फिगर आकार सेट करें और पैडिंग समायोजित करें
- NumPy से
xऔरyडेटा बिंदु बनाएं xऔरyसे प्लेन का समीकरण (eq) ज्ञात करें- नया फिगर बनाएं या मौजूदा सक्रिय करें
projection='3d'के साथ वर्तमान एक्सिस प्राप्त करेंx, y, eqडेटा बिंदुओं के साथ सरफेस प्लॉट बनाएंplt.show()से प्रदर्शित करें
उदाहरण
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
# x और y रेंज
x = np.linspace(-10, 10, 100)
y = np.linspace(-10, 10, 100)
# मेशग्रिड बनाएं
x, y = np.meshgrid(x, y)
# प्लेन समीकरण: z = 0.12x + 0.01y + 1.09
eq = 0.12 * x + 0.01 * y + 1.09
fig = plt.figure()
ax = fig.gca(projection='3d')
# सरफेस प्लॉट
ax.plot_surface(x, y, eq, cmap='viridis', alpha=0.8)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('प्लेन: z = 0.12x + 0.01y + 1.09')
plt.show()
आउटपुट
3D सरफेस प्लॉट दिखाता है प्लेन z = 0.12x + 0.01y + 1.09। रंग Z-मान दर्शाता है (विरिडिस कलरमैप)।
सामान्य प्लेन समीकरण
सामान्य रूप: Ax + By + Cz + D = 0 या z = ax + by + c
अन्य प्लेन उदाहरण
# ऊर्ध्वाधर प्लेन: x = 5
y, z = np.meshgrid(np.linspace(-10, 10, 50), np.linspace(-10, 10, 50))
x = 5 * np.ones_like(y)
ax.plot_surface(x, y, z, alpha=0.5)
# क्षैतिज प्लेन: z = 3
x, y = np.meshgrid(np.linspace(-10, 10, 50), np.linspace(-10, 10, 50))
z = 3 * np.ones_like(x)
ax.plot_surface(x, y, z, alpha=0.5)
सुधार: वायरफ्रेम + सरफेस
ax.plot_surface(x, y, eq, cmap='viridis', alpha=0.7)
ax.plot_wireframe(x, y, eq, color='black', linewidth=0.5, alpha=0.5)
मुख्य बिंदु
np.meshgrid2D निर्देशांक मैट्रिक्स बनाता हैplot_surfaceभरा हुआ सरफेस बनाता हैcmapऊंचाई/मान के अनुसार रंग मैप करता हैalphaपारदर्शिता ओवरलैपिंग सरफेस के लिए उपयोगी