২D ইমেজ ডেটাকে ৩D সারফেস বা কন্টুর প্লট হিসেবে দেখাতে ax.contourf() ব্যবহার করা যায় zdir এবং offset প্যারামিটারসহ।
- NumPy-র
meshgridদিয়ে X, Y গ্রিড তৈরি করুন। - Z ডেটা (২D ইমেজ) তৈরি করুন।
- ফিগার তৈরি করে দুটি সাবপ্লট বানান: ১২১ (২D imshow), ১২২ (৩D contourf)।
- ২D সাবপ্লটে
imshow()দিয়ে ইমেজ দেখান। - ৩D সাবপ্লটে
contourf()দিয়ে কন্টুর ফিল করুনzdir='z', offset=0.5সহ। plt.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, Y = xx, 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()
বামে ২D হিটম্যাপ (imshow), ডানে ৩D কন্টুর প্লট যেখানে Z=0.5 প্লেনে ইমেজ প্রোজেক্ট করা হয়েছে।