Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

मैटप्लॉटलिब में 3D plot_surface को कैसे एनिमेट करें?


मैटप्लॉटलिब में 3D plot_surface को एनिमेट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं:

  • मेश ग्रिड की संख्या (N), प्रति सेकंड फ्रिक्वेंसी (fps) फंक्शन को कॉल करने के लिए, और फ्रेम नंबर्स (frn) के लिए वेरिएबल्स इनिशियलाइज़ करें।
  • एक कर्व के लिए x, y और z ऐरे बनाएं।
  • लैम्ब्डा फंक्शन का उपयोग करके z-array बनाने के लिए एक फंक्शन बनाएं।
  • एनिमेशन क्लास में फंक्शन पास करने के लिए, एक यूजर-डिफाइंड फंक्शन बनाएं जो पिछले प्लॉट को हटाए और x, y और z-array का उपयोग करके सरफेस प्लॉट करे।
  • एक नया फिगर बनाएं या मौजूदा फिगर को सक्रिय करें।
  • subplots() मेथड का उपयोग करके सबप्लॉट व्यवस्था जोड़ें।
  • set_zlim() मेथड का उपयोग करके Z-एक्सिस की सीमा सेट करें।
  • सरफेस प्लॉट को एनिमेट करने के लिए एनिमेशन क्लास को कॉल करें।
  • फिगर प्रदर्शित करने के लिए show() मेथड का उपयोग करें।

उदाहरण

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
plt.rcParams["figure.figsize"] = [7.50, 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)
ax.axis('off')
plt.show()

आउटपुट

मैटप्लॉटलिब में 3D plot_surface को कैसे एनिमेट करें?

  1. Matplotlib में घूमता हुआ 3D ग्राफ़ एनिमेट करें Matplotlib में घूमता हुआ 3D ग्राफ़ एनिमेट करें

    Matplotlib में घूमता हुआ 3D ग्राफ़ बनाने के लिए, हम फंक्शन को बार-बार कॉल करने के लिए Animation क्लास का उपयोग कर सकते हैं। चरण मेश ग्रिड की संख्या, फंक्शन को कॉल करने की फ्रिक्वेंसी प्रति सेकंड, फ्रेम नंबर के लिए वेरिएबल्स इनिशियलाइज़ करें। कर्व के लिए x, y, और z ऐरे बनाएं। लैम्ब्डा फंक्शन क

  1. Matplotlib में pcolormesh कैसे एनिमेट करें? Matplotlib में pcolormesh कैसे एनिमेट करें?

    Matplotlib में pcolormesh एनिमेट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: फिगर और सबप्लॉट्स का सेट बनाएं। NumPy का उपयोग करके x, y और t डेटा पॉइंट्स बनाएं। X3, Y3 और T3 बनाएं, meshgrid का उपयोग करके कोऑर्डिनेट वैक्टर्स से कोऑर्डिनेट मैट्रिक्स वापस करें। pcolormesh() मेथड का उपयोग करके

  1. मैटप्लॉटलिब में लाइन प्लॉट को एनिमेट कैसे करें? मैटप्लॉटलिब में लाइन प्लॉट को एनिमेट कैसे करें?

    मैटप्लॉटलिब में लाइन प्लॉट को एनिमेट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: subplots() मेथड का उपयोग करके एक फिगर और सबप्लॉट्स का सेट बनाएं। x और y एक्सिस स्केल को सीमित करें। नम्पाई का उपयोग करके x और t डेटा पॉइंट्स बनाएं। कोऑर्डिनेट वैक्टर्स से कोऑर्डिनेट मैट्रिक्स लौटाएं, X2 और T2। plot(