কম্পিউটার টিউটোরিয়াল

Matplotlib-এ imshow() ইমেজকে ৩D-এ প্লট করা

২D ইমেজ ডেটাকে ৩D সারফেস বা কন্টুর প্লট হিসেবে দেখাতে ax.contourf() ব্যবহার করা যায় zdir এবং offset প্যারামিটারসহ।

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

  1. Pandas/Matplotlib-এ ক্লাসের বিপরীতে হিস্টোগ্রাম প্লট করার পদ্ধতি

  2. Matplotlib-এ প্লটিং ক্যানভাসের আকার সেট করার পদ্ধতি

  3. Numpy এবং Matplotlib ব্যবহার করে ইমেজ সেগমেন্টেশন ওভারলে করুন

  4. Matplotlib গ্রাফকে ফুলস্ক্রিন ইমেজ হিসেবে দেখান