Matplotlib में imshow() इमेज को 3D में प्लॉट करने के लिए, हम निम्न चरण अपना सकते हैं:
- Numpy का उपयोग करके xx और yy डेटा पॉइंट्स बनाएं।
- X, Y और Z का उपयोग करके डेटा (2D) प्राप्त करें।
- figure() मेथड का उपयोग करके एक नया फिगर बनाएं या मौजूदा फिगर को एक्टिवेट करें।
- सबप्लॉट व्यवस्था के हिस्से के रूप में फिगर में एक 'ax1' जोड़ें।
- डेटा के साथ इमेज को डिस्प्ले करें, यानी 2D रेगुलर रास्टर पर।
- सबप्लॉट व्यवस्था के हिस्से के रूप में फिगर में एक 'ax2' जोड़ें।
- कंटूर लाइन्स या भरे हुए क्षेत्रों का सेट बनाएं और स्टोर करें।
- फिगर डिस्प्ले करने के लिए show() मेथड का उपयोग करें।
उदाहरण
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
xx, yy = np.meshgrid(np.linspace(0, 1, 10), np.linspace(0, 1, 10))
X = xx
Y = yy
Z = 10 * np.ones(X.shape)
data = np.cos(xx) * np.cos(xx) + np.sin(yy) * np.sin(yy)
fig = plt.figure()
ax1 = fig.add_subplot(121)
ax1.imshow(data, cmap="plasma", interpolation='nearest', origin='lower', extent=[0, 1, 0, 1])
ax2 = fig.add_subplot(122, projection='3d')
ax2.contourf(X, Y, data, 100, zdir='z', offset=0.5, cmap="plasma")
plt.show()
आउटपुट
