কম্পিউটার

Matplotlib-এ একটি ঘূর্ণায়মান 3D গ্রাফ অ্যানিমেট করুন


ম্যাটপ্লটলিবে একটি ঘূর্ণায়মান 3D গ্রাফ তৈরি করতে, আমরা অ্যানিমেশন ব্যবহার করতে পারি একটি ফাংশন বারবার কল করার জন্য ক্লাস।

পদক্ষেপ

  • মেশ গ্রিডের সংখ্যা, ফাংশন কল করার জন্য প্রতি সেকেন্ডে ফ্রিকোয়েন্সি, ফ্রেম নম্বরের জন্য ভেরিয়েবল শুরু করুন।

  • একটি বক্ররেখার জন্য x, y, এবং z অ্যারে তৈরি করুন।

  • ল্যাম্বডা ফাংশন ব্যবহার করে z অ্যারে তৈরি করতে একটি ফাংশন তৈরি করুন।

  • অ্যানিমেশন ক্লাসে একটি ফাংশন পাস করতে, পূর্ববর্তী প্লটটি মুছে ফেলার জন্য একটি ব্যবহারকারী-সংজ্ঞায়িত ফাংশন তৈরি করুন এবং x, y এবং zarray ব্যবহার করে একটি পৃষ্ঠ প্লট করুন৷

  • একটি নতুন চিত্র তৈরি করুন বা একটি বিদ্যমান চিত্র সক্রিয় করুন৷

  • সাবপ্লট() ​​পদ্ধতি ব্যবহার করে একটি সাবপ্লট বিন্যাস যোগ করুন।

  • set_zlim() ব্যবহার করে Z-অক্ষের সীমা সেট করুন পদ্ধতি।

  • অ্যানিমেশন কল করুন সারফেস প্লট অ্যানিমেট করার জন্য ক্লাস।

  • অ্যানিমেটেড প্লট প্রদর্শন করতে, শো() ব্যবহার করুন পদ্ধতি।

উদাহরণ

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
N = 50
fps = 250
frn = 75

x = np.linspace(-4, 4, N + 1)
x, y = np.meshgrid(x, x)
zarray = np.zeros((N + 1, N + 1, frn))

f = lambda x, y, sig: 1 / np.sqrt(sig) * np.exp(-(x ** 2 + y ** 2) / sig ** 2)

for i in range(frn):
   zarray[:, :, i] = f(x, y, 1.5 + np.sin(i * 2 * np.pi / frn))

def change_plot(frame_number, zarray, plot):
   plot[0].remove()
   plot[0] = ax.plot_surface(x, y, zarray[:, :, frame_number], cmap="afmhot_r")

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

plot = [ax.plot_surface(x, y, zarray[:, :, 0], color='0.75', rstride=1,
cstride=1)]
ax.set_zlim(0, 1.1)
ani = animation.FuncAnimation(fig, change_plot, frn, fargs=(zarray, plot),
interval=1000 / fps)
ani.save('526.gif')

plt.show()

আউটপুট

Matplotlib-এ একটি ঘূর্ণায়মান 3D গ্রাফ অ্যানিমেট করুন


  1. Matplotlib-এ প্রতিটি সাবপ্লটের জন্য অক্ষের পাঠ্য ঘোরানো

  2. পাইথনে একটি কনট্যুর প্লট অ্যানিমেট করতে matplotlib.animate কীভাবে ব্যবহার করবেন?

  3. কিভাবে Matplotlib একটি pcolormesh অ্যানিমেট করতে?

  4. কিভাবে Matplotlib এ একটি লাইন প্লট অ্যানিমেট করবেন?